ETH Price: $3,272.20 (-1.77%)

Token

Sebra AI (BRAIN)
 

Overview

Max Total Supply

10,000,000 BRAIN

Holders

407 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (-1.34%)

Onchain Market Cap

$37,207.90

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Balance
421.039395855 BRAIN

Value
$1.57 ( ~0.000479799194878576 Eth) [0.0042%]
0xb0b23d33cccf31b3d967d2c15d1d93ea59ebec8e
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Sebra AI is crafting a new way to share your unique ideas, experiences, and worldviews with the help of custom chatbots. Public bots, private bots, unlockable content.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SebraAI

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Sebra.sol
/**
 *Submitted for verification at Etherscan.io on 2024-06-04
*/

// SPDX-License-Identifier: MIT

/** 

.d8888b.           888                                    d8888 8888888
d88P  Y88b          888                                   d88888   888  
Y88b.               888                                  d88P888   888  
 "Y888b.    .d88b.  88888b.  888d888  8888b.            d88P 888   888  
    "Y88b. d8P  Y8b 888 "88b 888P"       "88b          d88P  888   888  
      "888 88888888 888  888 888     .d888888         d88P   888   888  
Y88b  d88P Y8b.     888 d88P 888     888  888        d8888888888   888  
 "Y8888P"   "Y8888  88888P"  888     "Y888888       d88P     888 8888888


Let’s use some $BRAIN.

Socials:

Web - sebra.ai
X - x.com/sebraai
TG - t.me/sebra_ai


*/


pragma solidity 0.8.26;

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

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000 * 10**_decimals;
    string private constant _name = unicode"Sebra AI";
    string private constant _symbol = unicode"BRAIN";
    uint256 public _maxTxAmount = 300000 * 10**_decimals;
    uint256 public _maxWalletSize = 300000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 public _maxTaxSwap= 500000 * 10**_decimals;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

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

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

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


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

    receive() external payable {}

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

    function withdrawStuckETH() external onlyOwner {
        payable(_taxWallet).transfer(address(this).balance);
    }

    function withdrawStuckERC20(IERC20 token) external onlyOwner {
        token.transfer(_taxWallet, token.balanceOf(address(this)));
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"withdrawStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160065f6101000a81548160ff021916908315150217905550601e600755602360085560056009556005600a556019600b55601e600c55601e600d555f600e556009600a61005391906105c3565b620493e0610061919061060d565b600f556009600a61007291906105c3565b620493e0610080919061060d565b6010556009600a61009191906105c3565b620186a061009f919061060d565b6011556009600a6100b091906105c3565b6207a1206100be919061060d565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff021916908315150217905550348015610100575f80fd5b505f61011061042460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101ba61042460201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020891906105c3565b62989680610216919061060d565b60015f61022761042460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61027761042b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103a061042460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103fc91906105c3565b6298968061040a919061060d565b604051610417919061065d565b60405180910390a3610676565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104d4578086048111156104b0576104af610452565b5b60018516156104bf5780820291505b80810290506104cd8561047f565b9450610494565b94509492505050565b5f826104ec57600190506105a7565b816104f9575f90506105a7565b816001811461050f576002811461051957610548565b60019150506105a7565b60ff84111561052b5761052a610452565b5b8360020a91508482111561054257610541610452565b5b506105a7565b5060208310610133831016604e8410600b841016171561057d5782820a90508381111561057857610577610452565b5b6105a7565b61058a848484600161048b565b925090508184048111156105a1576105a0610452565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105cd826105ae565b91506105d8836105b7565b92506106057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104dd565b905092915050565b5f610617826105ae565b9150610622836105ae565b9250828202610630816105ae565b9150828204841483151761064757610646610452565b5b5092915050565b610657816105ae565b82525050565b5f6020820190506106705f83018461064e565b92915050565b61333d806106835f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063f5648a4f1461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e5780633963510b1461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612325565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906123d6565b6104db565b604051610195919061242e565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612456565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612456565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061246f565b610520565b604051610225919061242e565b60405180910390f35b348015610239575f80fd5b506102426105f4565b60405161024f91906124da565b60405180910390f35b348015610263575f80fd5b5061027e6004803603810190610279919061252e565b6105fc565b005b34801561028b575f80fd5b506102946107a8565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612559565b610840565b6040516102c99190612456565b60405180910390f35b3480156102dd575f80fd5b506102e6610886565b005b3480156102f3575f80fd5b506102fc6109d4565b005b348015610309575f80fd5b50610312610b19565b60405161031f9190612456565b60405180910390f35b348015610333575f80fd5b5061033c610b1f565b6040516103499190612593565b60405180910390f35b34801561035d575f80fd5b50610366610b46565b6040516103739190612456565b60405180910390f35b348015610387575f80fd5b50610390610b4c565b60405161039d9190612325565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906123d6565b610b89565b6040516103d9919061242e565b60405180910390f35b3480156103ed575f80fd5b506103f6610ba6565b6040516104039190612456565b60405180910390f35b348015610417575f80fd5b50610420610bac565b60405161042d919061242e565b60405180910390f35b348015610441575f80fd5b5061044a610bbe565b005b348015610457575f80fd5b50610472600480360381019061046d91906125ac565b6110dc565b60405161047f9190612456565b60405180910390f35b348015610493575f80fd5b5061049c61115e565b005b60606040518060400160405280600881526020017f5365627261204149000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e761125a565b8484611261565b6001905092915050565b60125481565b5f6009600a61050d9190612746565b6298968061051b9190612790565b905090565b5f61052c848484611424565b6105e98461053861125a565b6105e4856040518060600160405280602881526020016132e06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059b61125a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da09092919063ffffffff16565b611261565b600190509392505050565b5f6009905090565b61060461125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106879061281b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107089190612593565b602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610747919061284d565b6040518363ffffffff1660e01b81526004016107649291906128d3565b6020604051808303815f875af1158015610780573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a49190612924565b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e961125a565b73ffffffffffffffffffffffffffffffffffffffff1614610808575f80fd5b5f61081230610840565b90505f8111156108265761082581611e02565b5b5f4790505f81111561083c5761083b8161206d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61088e61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109119061281b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109dc61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f9061281b565b60405180910390fd5b6009600a610a769190612746565b62989680610a849190612790565b600f819055506009600a610a989190612746565b62989680610aa69190612790565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610af49190612746565b62989680610b029190612790565b604051610b0f9190612456565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f425241494e000000000000000000000000000000000000000000000000000000815250905090565b5f610b9c610b9561125a565b8484611424565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610bc661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c499061281b565b60405180910390fd5b60148054906101000a900460ff1615610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612999565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d289190612746565b62989680610d369190612790565b611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906129cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7391906129cb565b6040518363ffffffff1660e01b8152600401610e909291906129f6565b6020604051808303815f875af1158015610eac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed091906129cb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f5730610840565b5f80610f61610b1f565b426040518863ffffffff1660e01b8152600401610f8396959493929190612a56565b60606040518083038185885af1158015610f9f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc49190612ab5565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611064929190612b05565b6020604051808303815f875af1158015611080573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190612924565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061281b565b60405180910390fd5b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611257573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612b9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c2a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114179190612456565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612cb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612d46565b60405180910390fd5b5f8111611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990612dd4565b60405180910390fd5b5f61154b610b1f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b95750611589610b1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611af0576115fa60646115ec600b54600e54116115d9576007546115dd565b6009545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b905060065f9054906101000a900460ff16156117825760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116ba575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611781574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590612e88565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561182b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561193857600f548211156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612ef0565b60405180910390fd5b601054826118d585610840565b6118df9190612f0e565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612f8b565b60405180910390fd5b600e5f81548092919061193290612fa9565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119c057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a0457611a0160646119f3600c54600e54116119e0576008546119e4565b600a545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b90505b5f611a0e30610840565b9050601460159054906101000a900460ff16158015611a79575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a915750601460169054906101000a900460ff165b8015611a9e575060115481115b8015611aad5750600d54600e54115b15611aee57611acf611aca84611ac584601254612196565b612196565b611e02565b5f47905066b1a2bc2ec50000811115611aec57611aeb4761206d565b5b505b505b5f811115611bef57611b488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be69190612456565b60405180910390a35b611c3f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ce2611c96828461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d85848661220b90919063ffffffff16565b604051611d929190612456565b60405180910390a350505050565b5f838311158290611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde9190612325565b60405180910390fd5b505f8385611df59190612ff0565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3957611e38613023565b5b604051908082528060200260200182016040528015611e675781602001602082028036833780820191505090505b50905030815f81518110611e7e57611e7d613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4691906129cb565b81600181518110611f5a57611f59613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc03060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612022959493929190613134565b5f604051808303815f87803b158015612039575f80fd5b505af115801561204b573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120d2573d5f803e3d5ffd5b5050565b5f8083036120e6575f9050612147565b5f82846120f39190612790565b905082848261210291906131b9565b14612142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213990613259565b60405180910390fd5b809150505b92915050565b5f61218e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612254565b905092915050565b5f8183116121a457826121a6565b815b905092915050565b5f8082846121bc9190612f0e565b905083811015612201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f8906132c1565b60405180910390fd5b8091505092915050565b5f61224c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611da0565b905092915050565b5f808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612325565b60405180910390fd5b505f83856122a891906131b9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6122f7826122b5565b61230181856122bf565b93506123118185602086016122cf565b61231a816122dd565b840191505092915050565b5f6020820190508181035f83015261233d81846122ed565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61237282612349565b9050919050565b61238281612368565b811461238c575f80fd5b50565b5f8135905061239d81612379565b92915050565b5f819050919050565b6123b5816123a3565b81146123bf575f80fd5b50565b5f813590506123d0816123ac565b92915050565b5f80604083850312156123ec576123eb612345565b5b5f6123f98582860161238f565b925050602061240a858286016123c2565b9150509250929050565b5f8115159050919050565b61242881612414565b82525050565b5f6020820190506124415f83018461241f565b92915050565b612450816123a3565b82525050565b5f6020820190506124695f830184612447565b92915050565b5f805f6060848603121561248657612485612345565b5b5f6124938682870161238f565b93505060206124a48682870161238f565b92505060406124b5868287016123c2565b9150509250925092565b5f60ff82169050919050565b6124d4816124bf565b82525050565b5f6020820190506124ed5f8301846124cb565b92915050565b5f6124fd82612368565b9050919050565b61250d816124f3565b8114612517575f80fd5b50565b5f8135905061252881612504565b92915050565b5f6020828403121561254357612542612345565b5b5f6125508482850161251a565b91505092915050565b5f6020828403121561256e5761256d612345565b5b5f61257b8482850161238f565b91505092915050565b61258d81612368565b82525050565b5f6020820190506125a65f830184612584565b92915050565b5f80604083850312156125c2576125c1612345565b5b5f6125cf8582860161238f565b92505060206125e08582860161238f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266c57808604811115612648576126476125ea565b5b60018516156126575780820291505b808102905061266585612617565b945061262c565b94509492505050565b5f82612684576001905061273f565b81612691575f905061273f565b81600181146126a757600281146126b1576126e0565b600191505061273f565b60ff8411156126c3576126c26125ea565b5b8360020a9150848211156126da576126d96125ea565b5b5061273f565b5060208310610133831016604e8410600b84101617156127155782820a9050838111156127105761270f6125ea565b5b61273f565b6127228484846001612623565b92509050818404811115612739576127386125ea565b5b81810290505b9392505050565b5f612750826123a3565b915061275b836124bf565b92506127887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612675565b905092915050565b5f61279a826123a3565b91506127a5836123a3565b92508282026127b3816123a3565b915082820484148315176127ca576127c96125ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128056020836122bf565b9150612810826127d1565b602082019050919050565b5f6020820190508181035f830152612832816127f9565b9050919050565b5f81519050612847816123ac565b92915050565b5f6020828403121561286257612861612345565b5b5f61286f84828501612839565b91505092915050565b5f819050919050565b5f61289b61289661289184612349565b612878565b612349565b9050919050565b5f6128ac82612881565b9050919050565b5f6128bd826128a2565b9050919050565b6128cd816128b3565b82525050565b5f6040820190506128e65f8301856128c4565b6128f36020830184612447565b9392505050565b61290381612414565b811461290d575f80fd5b50565b5f8151905061291e816128fa565b92915050565b5f6020828403121561293957612938612345565b5b5f61294684828501612910565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129836017836122bf565b915061298e8261294f565b602082019050919050565b5f6020820190508181035f8301526129b081612977565b9050919050565b5f815190506129c581612379565b92915050565b5f602082840312156129e0576129df612345565b5b5f6129ed848285016129b7565b91505092915050565b5f604082019050612a095f830185612584565b612a166020830184612584565b9392505050565b5f819050919050565b5f612a40612a3b612a3684612a1d565b612878565b6123a3565b9050919050565b612a5081612a26565b82525050565b5f60c082019050612a695f830189612584565b612a766020830188612447565b612a836040830187612a47565b612a906060830186612a47565b612a9d6080830185612584565b612aaa60a0830184612447565b979650505050505050565b5f805f60608486031215612acc57612acb612345565b5b5f612ad986828701612839565b9350506020612aea86828701612839565b9250506040612afb86828701612839565b9150509250925092565b5f604082019050612b185f830185612584565b612b256020830184612447565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b866024836122bf565b9150612b9182612b2c565b604082019050919050565b5f6020820190508181035f830152612bb381612b7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c146022836122bf565b9150612c1f82612bba565b604082019050919050565b5f6020820190508181035f830152612c4181612c08565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca26025836122bf565b9150612cad82612c48565b604082019050919050565b5f6020820190508181035f830152612ccf81612c96565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d306023836122bf565b9150612d3b82612cd6565b604082019050919050565b5f6020820190508181035f830152612d5d81612d24565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dbe6029836122bf565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e726049836122bf565b9150612e7d82612df2565b606082019050919050565b5f6020820190508181035f830152612e9f81612e66565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612eda6019836122bf565b9150612ee582612ea6565b602082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b5f612f18826123a3565b9150612f23836123a3565b9250828201905080821115612f3b57612f3a6125ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f75601a836122bf565b9150612f8082612f41565b602082019050919050565b5f6020820190508181035f830152612fa281612f69565b9050919050565b5f612fb3826123a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fe557612fe46125ea565b5b600182019050919050565b5f612ffa826123a3565b9150613005836123a3565b925082820390508181111561301d5761301c6125ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130af81612368565b82525050565b5f6130c083836130a6565b60208301905092915050565b5f602082019050919050565b5f6130e28261307d565b6130ec8185613087565b93506130f783613097565b805f5b8381101561312757815161310e88826130b5565b9750613119836130cc565b9250506001810190506130fa565b5085935050505092915050565b5f60a0820190506131475f830188612447565b6131546020830187612a47565b818103604083015261316681866130d8565b90506131756060830185612584565b6131826080830184612447565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131c3826123a3565b91506131ce836123a3565b9250826131de576131dd61318c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132436021836122bf565b915061324e826131e9565b604082019050919050565b5f6020820190508181035f83015261327081613237565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132ab601b836122bf565b91506132b682613277565b602082019050919050565b5f6020820190508181035f8301526132d88161329f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca5935432cb7ce05957c25594448a24fd937f994b7c7212d4d1d8fbc8600d0564736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063f5648a4f1461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e5780633963510b1461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612325565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906123d6565b6104db565b604051610195919061242e565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612456565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612456565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061246f565b610520565b604051610225919061242e565b60405180910390f35b348015610239575f80fd5b506102426105f4565b60405161024f91906124da565b60405180910390f35b348015610263575f80fd5b5061027e6004803603810190610279919061252e565b6105fc565b005b34801561028b575f80fd5b506102946107a8565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612559565b610840565b6040516102c99190612456565b60405180910390f35b3480156102dd575f80fd5b506102e6610886565b005b3480156102f3575f80fd5b506102fc6109d4565b005b348015610309575f80fd5b50610312610b19565b60405161031f9190612456565b60405180910390f35b348015610333575f80fd5b5061033c610b1f565b6040516103499190612593565b60405180910390f35b34801561035d575f80fd5b50610366610b46565b6040516103739190612456565b60405180910390f35b348015610387575f80fd5b50610390610b4c565b60405161039d9190612325565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906123d6565b610b89565b6040516103d9919061242e565b60405180910390f35b3480156103ed575f80fd5b506103f6610ba6565b6040516104039190612456565b60405180910390f35b348015610417575f80fd5b50610420610bac565b60405161042d919061242e565b60405180910390f35b348015610441575f80fd5b5061044a610bbe565b005b348015610457575f80fd5b50610472600480360381019061046d91906125ac565b6110dc565b60405161047f9190612456565b60405180910390f35b348015610493575f80fd5b5061049c61115e565b005b60606040518060400160405280600881526020017f5365627261204149000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e761125a565b8484611261565b6001905092915050565b60125481565b5f6009600a61050d9190612746565b6298968061051b9190612790565b905090565b5f61052c848484611424565b6105e98461053861125a565b6105e4856040518060600160405280602881526020016132e06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059b61125a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da09092919063ffffffff16565b611261565b600190509392505050565b5f6009905090565b61060461125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106879061281b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107089190612593565b602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610747919061284d565b6040518363ffffffff1660e01b81526004016107649291906128d3565b6020604051808303815f875af1158015610780573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a49190612924565b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e961125a565b73ffffffffffffffffffffffffffffffffffffffff1614610808575f80fd5b5f61081230610840565b90505f8111156108265761082581611e02565b5b5f4790505f81111561083c5761083b8161206d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61088e61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109119061281b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109dc61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f9061281b565b60405180910390fd5b6009600a610a769190612746565b62989680610a849190612790565b600f819055506009600a610a989190612746565b62989680610aa69190612790565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610af49190612746565b62989680610b029190612790565b604051610b0f9190612456565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f425241494e000000000000000000000000000000000000000000000000000000815250905090565b5f610b9c610b9561125a565b8484611424565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610bc661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c499061281b565b60405180910390fd5b60148054906101000a900460ff1615610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612999565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d289190612746565b62989680610d369190612790565b611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906129cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7391906129cb565b6040518363ffffffff1660e01b8152600401610e909291906129f6565b6020604051808303815f875af1158015610eac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed091906129cb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f5730610840565b5f80610f61610b1f565b426040518863ffffffff1660e01b8152600401610f8396959493929190612a56565b60606040518083038185885af1158015610f9f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc49190612ab5565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611064929190612b05565b6020604051808303815f875af1158015611080573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190612924565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061281b565b60405180910390fd5b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611257573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612b9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c2a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114179190612456565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612cb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612d46565b60405180910390fd5b5f8111611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990612dd4565b60405180910390fd5b5f61154b610b1f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b95750611589610b1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611af0576115fa60646115ec600b54600e54116115d9576007546115dd565b6009545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b905060065f9054906101000a900460ff16156117825760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116ba575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611781574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590612e88565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561182b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561193857600f548211156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612ef0565b60405180910390fd5b601054826118d585610840565b6118df9190612f0e565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612f8b565b60405180910390fd5b600e5f81548092919061193290612fa9565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119c057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a0457611a0160646119f3600c54600e54116119e0576008546119e4565b600a545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b90505b5f611a0e30610840565b9050601460159054906101000a900460ff16158015611a79575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a915750601460169054906101000a900460ff165b8015611a9e575060115481115b8015611aad5750600d54600e54115b15611aee57611acf611aca84611ac584601254612196565b612196565b611e02565b5f47905066b1a2bc2ec50000811115611aec57611aeb4761206d565b5b505b505b5f811115611bef57611b488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be69190612456565b60405180910390a35b611c3f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ce2611c96828461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d85848661220b90919063ffffffff16565b604051611d929190612456565b60405180910390a350505050565b5f838311158290611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde9190612325565b60405180910390fd5b505f8385611df59190612ff0565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3957611e38613023565b5b604051908082528060200260200182016040528015611e675781602001602082028036833780820191505090505b50905030815f81518110611e7e57611e7d613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4691906129cb565b81600181518110611f5a57611f59613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc03060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612022959493929190613134565b5f604051808303815f87803b158015612039575f80fd5b505af115801561204b573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120d2573d5f803e3d5ffd5b5050565b5f8083036120e6575f9050612147565b5f82846120f39190612790565b905082848261210291906131b9565b14612142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213990613259565b60405180910390fd5b809150505b92915050565b5f61218e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612254565b905092915050565b5f8183116121a457826121a6565b815b905092915050565b5f8082846121bc9190612f0e565b905083811015612201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f8906132c1565b60405180910390fd5b8091505092915050565b5f61224c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611da0565b905092915050565b5f808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612325565b60405180910390fd5b505f83856122a891906131b9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6122f7826122b5565b61230181856122bf565b93506123118185602086016122cf565b61231a816122dd565b840191505092915050565b5f6020820190508181035f83015261233d81846122ed565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61237282612349565b9050919050565b61238281612368565b811461238c575f80fd5b50565b5f8135905061239d81612379565b92915050565b5f819050919050565b6123b5816123a3565b81146123bf575f80fd5b50565b5f813590506123d0816123ac565b92915050565b5f80604083850312156123ec576123eb612345565b5b5f6123f98582860161238f565b925050602061240a858286016123c2565b9150509250929050565b5f8115159050919050565b61242881612414565b82525050565b5f6020820190506124415f83018461241f565b92915050565b612450816123a3565b82525050565b5f6020820190506124695f830184612447565b92915050565b5f805f6060848603121561248657612485612345565b5b5f6124938682870161238f565b93505060206124a48682870161238f565b92505060406124b5868287016123c2565b9150509250925092565b5f60ff82169050919050565b6124d4816124bf565b82525050565b5f6020820190506124ed5f8301846124cb565b92915050565b5f6124fd82612368565b9050919050565b61250d816124f3565b8114612517575f80fd5b50565b5f8135905061252881612504565b92915050565b5f6020828403121561254357612542612345565b5b5f6125508482850161251a565b91505092915050565b5f6020828403121561256e5761256d612345565b5b5f61257b8482850161238f565b91505092915050565b61258d81612368565b82525050565b5f6020820190506125a65f830184612584565b92915050565b5f80604083850312156125c2576125c1612345565b5b5f6125cf8582860161238f565b92505060206125e08582860161238f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266c57808604811115612648576126476125ea565b5b60018516156126575780820291505b808102905061266585612617565b945061262c565b94509492505050565b5f82612684576001905061273f565b81612691575f905061273f565b81600181146126a757600281146126b1576126e0565b600191505061273f565b60ff8411156126c3576126c26125ea565b5b8360020a9150848211156126da576126d96125ea565b5b5061273f565b5060208310610133831016604e8410600b84101617156127155782820a9050838111156127105761270f6125ea565b5b61273f565b6127228484846001612623565b92509050818404811115612739576127386125ea565b5b81810290505b9392505050565b5f612750826123a3565b915061275b836124bf565b92506127887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612675565b905092915050565b5f61279a826123a3565b91506127a5836123a3565b92508282026127b3816123a3565b915082820484148315176127ca576127c96125ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128056020836122bf565b9150612810826127d1565b602082019050919050565b5f6020820190508181035f830152612832816127f9565b9050919050565b5f81519050612847816123ac565b92915050565b5f6020828403121561286257612861612345565b5b5f61286f84828501612839565b91505092915050565b5f819050919050565b5f61289b61289661289184612349565b612878565b612349565b9050919050565b5f6128ac82612881565b9050919050565b5f6128bd826128a2565b9050919050565b6128cd816128b3565b82525050565b5f6040820190506128e65f8301856128c4565b6128f36020830184612447565b9392505050565b61290381612414565b811461290d575f80fd5b50565b5f8151905061291e816128fa565b92915050565b5f6020828403121561293957612938612345565b5b5f61294684828501612910565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129836017836122bf565b915061298e8261294f565b602082019050919050565b5f6020820190508181035f8301526129b081612977565b9050919050565b5f815190506129c581612379565b92915050565b5f602082840312156129e0576129df612345565b5b5f6129ed848285016129b7565b91505092915050565b5f604082019050612a095f830185612584565b612a166020830184612584565b9392505050565b5f819050919050565b5f612a40612a3b612a3684612a1d565b612878565b6123a3565b9050919050565b612a5081612a26565b82525050565b5f60c082019050612a695f830189612584565b612a766020830188612447565b612a836040830187612a47565b612a906060830186612a47565b612a9d6080830185612584565b612aaa60a0830184612447565b979650505050505050565b5f805f60608486031215612acc57612acb612345565b5b5f612ad986828701612839565b9350506020612aea86828701612839565b9250506040612afb86828701612839565b9150509250925092565b5f604082019050612b185f830185612584565b612b256020830184612447565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b866024836122bf565b9150612b9182612b2c565b604082019050919050565b5f6020820190508181035f830152612bb381612b7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c146022836122bf565b9150612c1f82612bba565b604082019050919050565b5f6020820190508181035f830152612c4181612c08565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca26025836122bf565b9150612cad82612c48565b604082019050919050565b5f6020820190508181035f830152612ccf81612c96565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d306023836122bf565b9150612d3b82612cd6565b604082019050919050565b5f6020820190508181035f830152612d5d81612d24565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dbe6029836122bf565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e726049836122bf565b9150612e7d82612df2565b606082019050919050565b5f6020820190508181035f830152612e9f81612e66565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612eda6019836122bf565b9150612ee582612ea6565b602082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b5f612f18826123a3565b9150612f23836123a3565b9250828201905080821115612f3b57612f3a6125ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f75601a836122bf565b9150612f8082612f41565b602082019050919050565b5f6020820190508181035f830152612fa281612f69565b9050919050565b5f612fb3826123a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fe557612fe46125ea565b5b600182019050919050565b5f612ffa826123a3565b9150613005836123a3565b925082820390508181111561301d5761301c6125ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130af81612368565b82525050565b5f6130c083836130a6565b60208301905092915050565b5f602082019050919050565b5f6130e28261307d565b6130ec8185613087565b93506130f783613097565b805f5b8381101561312757815161310e88826130b5565b9750613119836130cc565b9250506001810190506130fa565b5085935050505092915050565b5f60a0820190506131475f830188612447565b6131546020830187612a47565b818103604083015261316681866130d8565b90506131756060830185612584565b6131826080830184612447565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131c3826123a3565b91506131ce836123a3565b9250826131de576131dd61318c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132436021836122bf565b915061324e826131e9565b604082019050919050565b5f6020820190508181035f83015261327081613237565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132ab601b836122bf565b91506132b682613277565b602082019050919050565b5f6020820190508181035f8301526132d88161329f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca5935432cb7ce05957c25594448a24fd937f994b7c7212d4d1d8fbc8600d0564736f6c634300081a0033

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.