ETH Price: $3,445.97 (-2.77%)
Gas: 3 Gwei

Token

Nancechad (NANCE)
 

Overview

Max Total Supply

69,000,000,000 NANCE

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
183,695,712.509815595742486003 NANCE

Value
$0.00
0x07765A5d2adb086A0f31597634B80637128C2cA9
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:
V4ArenaToken

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

// ARENA DEATHMATCH - Warning: When the countdown ends on arenadm.io, the contest is over and liquidity will be pulled. Exit before the timer ends and trade at your own risk.
// --------
// Token Deployed using Saintbot.
// Contract Renounced automatically.
// Liquidity Locked on UNCX, 0 Owner Tokens, Anti-Rug by default.
// Deploy and manage fair launch anti-rug tokens seamlessly and lightning-fast with low gas on our free-to-use Telegram bot.
// --------
// Website: https://nancechad.com
// Twitter: https://twitter.com/nancechad_erc20
// Telegram: https://t.me/NancechadPortal 
// Gitbook:

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.21;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract Ownable is Context {
  address private _owner;

  error OwnableInvalidOwner(address 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);
  }

  function transferOwnership(address newOwner) public virtual onlyOwner {
    if (newOwner == address(0)) {
      revert OwnableInvalidOwner(address(0));
    }
    _transferOwnership(newOwner);
  }

  /**
   * @dev Transfers ownership of the contract to a new account (`newOwner`).
   * Internal function without access restriction.
   */
  function _transferOwnership(address newOwner) internal virtual {
    address oldOwner = _owner;
    _owner = newOwner;
    emit OwnershipTransferred(oldOwner, newOwner);
  }
}

interface IUniswapV2Factory {
  function createPair(
    address tokenA,
    address tokenB
  ) external returns (address pair);
}

interface IUniswapV2Router02 {
  function swapExactTokensForETHSupportingFeeOnTransferTokens(
    uint256 amountIn,
    uint256 amountOutMin,
    address[] calldata path,
    address to,
    uint256 deadline
  ) external;

  function factory() external pure returns (address);

  function WETH() external pure returns (address);

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

interface IRefSys {
  function getRefReceiver(
    bytes memory _refCode
  ) external view returns (address receiverWallet);
}

interface IERCBurn {
  function burn(uint256 _amount) external;

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

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

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

  function transfer(address to, uint256 value) external returns (bool);
}

contract V4ArenaToken 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;

  // wallet that will be used to receive funds and distribute to rev share contracts
  address payable public teamWallet;

  uint256 private _initialBuyTax = 25;
  uint256 private _initialSellTax = 25;
  uint256 private _finalBuyTax = 1;
  uint256 private _finalSellTax = 1;
  uint256 private _reduceBuyTaxAt = 25;
  uint256 private _reduceSellTaxAt = 25;
  uint256 public _preventSwapBefore = 2;
  uint256 public _buyCount = 0;

  uint8 private constant _decimals = 18;
  uint256 private immutable _tTotal;
  string private _name;
  string private _symbol;

  uint256 public _maxTxAmount;
  uint256 public _maxWalletSize;
  uint256 public _maxTaxSwap;
  uint256 public _taxSwapThreshold;

  IUniswapV2Router02 public uniswapV2Router;
  address public uniswapV2Pair;

  bool public tradingOpen;
  bool private inSwap = false;
  bool private swapEnabled = false;

  uint256 private immutable _deployedAt;

  IRefSys public constant REF_SYS =
    IRefSys(0x8A99c005C7B425ce999441afeE22D4987F7a9869);
  address public constant MAINNET_BOT_TRADING_RECEIVER =
    0xD5E2E43e30b706de8A0e01e72a6aBa2b8930af44;

  address public immutable REF;

  event MaxTxAmountUpdated(uint256 _maxTxAmount);

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

  constructor(
    string memory name_,
    string memory symbol_,
    uint256 _totalSupply,
    address _lockOwnerAndTaxReceiver,
    bytes memory _ref
  ) payable {
    require(
      msg.value >= 0.3 ether,
      "weth liquidity need to be bigger than 0.3"
    );
    require(
      _totalSupply >= 10 && _totalSupply <= 1_000_000_000_000,
      "InvalidSupply()"
    );

    _name = name_;
    _symbol = symbol_;

    uint256 supplyWithDecimals_ = _totalSupply * 1e18;

    _tTotal = supplyWithDecimals_;

    _maxTxAmount = (supplyWithDecimals_ * 3) / 100;
    _maxWalletSize = (supplyWithDecimals_ * 6) / 100;
    _maxTaxSwap = supplyWithDecimals_ / 100;
    _taxSwapThreshold = supplyWithDecimals_ / 200;

    teamWallet = payable(_lockOwnerAndTaxReceiver);

    _balances[address(this)] = supplyWithDecimals_;

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

    if (_lockOwnerAndTaxReceiver != msg.sender)
      transferOwnership(_lockOwnerAndTaxReceiver);

    _deployedAt = block.timestamp;

    REF = REF_SYS.getRefReceiver(_ref);
  }

  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 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) {
          _distributeMultisigs(address(this).balance);
        }
      }
    }

    // Transfers before opening trade have no tax
    if (!tradingOpen) {
      taxAmount = 0;
    }

    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 _distributeMultisigs(uint256 _amount) private {
    uint256 ethBalance = _amount;

    if (REF == address(0)) {
      // If user has not entered a ref code, he will receive 4% fees
      uint256 taxWalletAmount = (ethBalance * 80) / 100;

      // Send 80% of the fees
      (bool success, ) = teamWallet.call{value: taxWalletAmount}("");

      require(success, "failed sending eth");

      address payable SAINTBOT_TAXES = payable(MAINNET_BOT_TRADING_RECEIVER);

      // Send 100% - 80% of the fees to us
      (success, ) = SAINTBOT_TAXES.call{value: ethBalance - taxWalletAmount}(
        ""
      );

      require(success, "failed sending eth");
    } else {
      // If he did enter a ref code, he will receive 4.1% fees
      uint256 taxWalletAmount = (ethBalance * 82) / 100;

      // Send 82% of the fees
      (bool success, ) = teamWallet.call{value: taxWalletAmount}("");

      require(success, "failed sending eth");

      // 0.15% to ref address, meaning that its 3% out of the 5%
      payable(REF).transfer((taxWalletAmount * 3) / 100);

      address payable SAINTBOT_TAXES = payable(MAINNET_BOT_TRADING_RECEIVER);

      (success, ) = SAINTBOT_TAXES.call{value: (ethBalance * 15) / 100}("");

      require(success, "failed sending eth");
    }
  }

  function addLiquidity() 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,
      msg.sender,
      block.timestamp
    );

    IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);

    swapEnabled = true;
    tradingOpen = true;
  }

  receive() external payable {}

  function manualSwap() external {
    require(_msgSender() == teamWallet, "auth");

    uint256 tokenBalance = balanceOf(address(this));

    if (tokenBalance > 0) {
      swapTokensForEth(tokenBalance);
    }
    uint256 ethBalance = address(this).balance;
    if (ethBalance > 0) {
      _distributeMultisigs(ethBalance);
    }
  }

  function updateTeamWallet(address _teamWallet) external onlyOwner {
    require(_teamWallet != address(0), "address(0)");

    teamWallet = payable(_teamWallet);

    _isExcludedFromFee[teamWallet] = true;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_lockOwnerAndTaxReceiver","type":"address"},{"internalType":"bytes","name":"_ref","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"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":"MAINNET_BOT_TRADING_RECEIVER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF_SYS","outputs":[{"internalType":"contract IRefSys","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"_preventSwapBefore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_teamWallet","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600160065f6101000a81548160ff0219169083151502179055506019600755601960085560016009556001600a556019600b556019600c556002600d555f600e555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff02191690831515021790555060405162004c4338038062004c4383398181016040528101906200009d9190620009e4565b5f620000ae6200050060201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350670429d069189e000034101562000198576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018f9062000b49565b60405180910390fd5b600a8310158015620001af575064e8d4a510008311155b620001f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001e89062000bb7565b60405180910390fd5b84600f908162000202919062000e05565b50836010908162000214919062000e05565b505f670de0b6b3a7640000846200022c919062000f16565b90508060808181525050606460038262000247919062000f16565b62000253919062000f8d565b60118190555060646006826200026a919062000f16565b62000276919062000f8d565b6012819055506064816200028b919062000f8d565b60138190555060c881620002a0919062000f8d565b60148190555082600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200033e6200050760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614620004285762000427836200052e60201b60201c565b5b4260a08181525050738a99c005c7b425ce999441afee22d4987f7a986973ffffffffffffffffffffffffffffffffffffffff1663eec40869836040518263ffffffff1660e01b81526004016200047f91906200101e565b602060405180830381865afa1580156200049b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c1919062001040565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050505050506200110a565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200053e6200050060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620005cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c490620010be565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000640575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620006379190620010ef565b60405180910390fd5b62000651816200065460201b60201c565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000776826200072e565b810181811067ffffffffffffffff821117156200079857620007976200073e565b5b80604052505050565b5f620007ac62000715565b9050620007ba82826200076b565b919050565b5f67ffffffffffffffff821115620007dc57620007db6200073e565b5b620007e7826200072e565b9050602081019050919050565b5f5b8381101562000813578082015181840152602081019050620007f6565b5f8484015250505050565b5f620008346200082e84620007bf565b620007a1565b9050828152602081018484840111156200085357620008526200072a565b5b62000860848285620007f4565b509392505050565b5f82601f8301126200087f576200087e62000726565b5b8151620008918482602086016200081e565b91505092915050565b5f819050919050565b620008ae816200089a565b8114620008b9575f80fd5b50565b5f81519050620008cc81620008a3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008fd82620008d2565b9050919050565b6200090f81620008f1565b81146200091a575f80fd5b50565b5f815190506200092d8162000904565b92915050565b5f67ffffffffffffffff82111562000950576200094f6200073e565b5b6200095b826200072e565b9050602081019050919050565b5f6200097e620009788462000933565b620007a1565b9050828152602081018484840111156200099d576200099c6200072a565b5b620009aa848285620007f4565b509392505050565b5f82601f830112620009c957620009c862000726565b5b8151620009db84826020860162000968565b91505092915050565b5f805f805f60a0868803121562000a0057620009ff6200071e565b5b5f86015167ffffffffffffffff81111562000a205762000a1f62000722565b5b62000a2e8882890162000868565b955050602086015167ffffffffffffffff81111562000a525762000a5162000722565b5b62000a608882890162000868565b945050604062000a7388828901620008bc565b935050606062000a86888289016200091d565b925050608086015167ffffffffffffffff81111562000aaa5762000aa962000722565b5b62000ab888828901620009b2565b9150509295509295909350565b5f82825260208201905092915050565b7f77657468206c6971756964697479206e65656420746f206265206269676765725f8201527f207468616e20302e330000000000000000000000000000000000000000000000602082015250565b5f62000b3160298362000ac5565b915062000b3e8262000ad5565b604082019050919050565b5f6020820190508181035f83015262000b628162000b23565b9050919050565b7f496e76616c6964537570706c79282900000000000000000000000000000000005f82015250565b5f62000b9f600f8362000ac5565b915062000bac8262000b69565b602082019050919050565b5f6020820190508181035f83015262000bd08162000b91565b9050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c2657607f821691505b60208210810362000c3c5762000c3b62000be1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000ca07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c63565b62000cac868362000c63565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000ced62000ce762000ce1846200089a565b62000cc4565b6200089a565b9050919050565b5f819050919050565b62000d088362000ccd565b62000d2062000d178262000cf4565b84845462000c6f565b825550505050565b5f90565b62000d3662000d28565b62000d4381848462000cfd565b505050565b5b8181101562000d6a5762000d5e5f8262000d2c565b60018101905062000d49565b5050565b601f82111562000db95762000d838162000c42565b62000d8e8462000c54565b8101602085101562000d9e578190505b62000db662000dad8562000c54565b83018262000d48565b50505b505050565b5f82821c905092915050565b5f62000ddb5f198460080262000dbe565b1980831691505092915050565b5f62000df5838362000dca565b9150826002028217905092915050565b62000e108262000bd7565b67ffffffffffffffff81111562000e2c5762000e2b6200073e565b5b62000e38825462000c0e565b62000e4582828562000d6e565b5f60209050601f83116001811462000e7b575f841562000e66578287015190505b62000e72858262000de8565b86555062000ee1565b601f19841662000e8b8662000c42565b5f5b8281101562000eb45784890151825560018201915060208501945060208101905062000e8d565b8683101562000ed4578489015162000ed0601f89168262000dca565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f22826200089a565b915062000f2f836200089a565b925082820262000f3f816200089a565b9150828204841483151762000f595762000f5862000ee9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f99826200089a565b915062000fa6836200089a565b92508262000fb95762000fb862000f60565b5b828204905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f62000fea8262000fc4565b62000ff6818562000fce565b935062001008818560208601620007f4565b62001013816200072e565b840191505092915050565b5f6020820190508181035f83015262001038818462000fde565b905092915050565b5f602082840312156200105857620010576200071e565b5b5f62001067848285016200091d565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620010a660208362000ac5565b9150620010b38262001070565b602082019050919050565b5f6020820190508181035f830152620010d78162001098565b9050919050565b620010e981620008f1565b82525050565b5f602082019050620011045f830184620010de565b92915050565b60805160a05160c051613afc620011475f395f81816106ae01528181612353015261262f01525f50505f81816107ab015261102c0152613afc5ff3fe6080604052600436106101c5575f3560e01c8063715018a6116100f6578063bf474bed11610094578063dd62ed3e11610063578063dd62ed3e14610608578063e8078d9414610644578063f2fde38b1461065a578063ffb54a9914610682576101cc565b8063bf474bed14610560578063c81d92461461058a578063c876d0b9146105b4578063d0bb6c0b146105de576101cc565b80638da5cb5b116100d05780638da5cb5b146104a65780638f9a55c0146104d057806395d89b41146104fa578063a9059cbb14610524576101cc565b8063715018a61461043e5780637cb332bb146104545780637d1db4a51461047c576101cc565b806327b1a8e91161016357806351bc3c851161013d57806351bc3c851461039857806359927044146103ae578063671241a1146103d857806370a0823114610402576101cc565b806327b1a8e91461031a578063313ce5671461034457806349bd5a5e1461036e576101cc565b80630faee56f1161019f5780630faee56f146102605780631694505e1461028a57806318160ddd146102b457806323b872dd146102de576101cc565b8063066034fc146101d057806306fdde03146101fa578063095ea7b314610224576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106ac565b6040516101f19190612a69565b60405180910390f35b348015610205575f80fd5b5061020e6106d0565b60405161021b9190612b0c565b60405180910390f35b34801561022f575f80fd5b5061024a60048036038101906102459190612b8d565b610760565b6040516102579190612be5565b60405180910390f35b34801561026b575f80fd5b5061027461077d565b6040516102819190612c0d565b60405180910390f35b348015610295575f80fd5b5061029e610783565b6040516102ab9190612c81565b60405180910390f35b3480156102bf575f80fd5b506102c86107a8565b6040516102d59190612c0d565b60405180910390f35b3480156102e9575f80fd5b5061030460048036038101906102ff9190612c9a565b6107cf565b6040516103119190612be5565b60405180910390f35b348015610325575f80fd5b5061032e6108a3565b60405161033b9190612c0d565b60405180910390f35b34801561034f575f80fd5b506103586108a9565b6040516103659190612d05565b60405180910390f35b348015610379575f80fd5b506103826108b1565b60405161038f9190612a69565b60405180910390f35b3480156103a3575f80fd5b506103ac6108d6565b005b3480156103b9575f80fd5b506103c26109a5565b6040516103cf9190612d3e565b60405180910390f35b3480156103e3575f80fd5b506103ec6109cb565b6040516103f99190612d77565b60405180910390f35b34801561040d575f80fd5b5061042860048036038101906104239190612d90565b6109e3565b6040516104359190612c0d565b60405180910390f35b348015610449575f80fd5b50610452610a29565b005b34801561045f575f80fd5b5061047a60048036038101906104759190612d90565b610b77565b005b348015610487575f80fd5b50610490610d34565b60405161049d9190612c0d565b60405180910390f35b3480156104b1575f80fd5b506104ba610d3a565b6040516104c79190612a69565b60405180910390f35b3480156104db575f80fd5b506104e4610d61565b6040516104f19190612c0d565b60405180910390f35b348015610505575f80fd5b5061050e610d67565b60405161051b9190612b0c565b60405180910390f35b34801561052f575f80fd5b5061054a60048036038101906105459190612b8d565b610df7565b6040516105579190612be5565b60405180910390f35b34801561056b575f80fd5b50610574610e14565b6040516105819190612c0d565b60405180910390f35b348015610595575f80fd5b5061059e610e1a565b6040516105ab9190612c0d565b60405180910390f35b3480156105bf575f80fd5b506105c8610e20565b6040516105d59190612be5565b60405180910390f35b3480156105e9575f80fd5b506105f2610e32565b6040516105ff9190612a69565b60405180910390f35b348015610613575f80fd5b5061062e60048036038101906106299190612dbb565b610e4a565b60405161063b9190612c0d565b60405180910390f35b34801561064f575f80fd5b50610658610ecc565b005b348015610665575f80fd5b50610680600480360381019061067b9190612d90565b6113ea565b005b34801561068d575f80fd5b506106966114fa565b6040516106a39190612be5565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600f80546106df90612e26565b80601f016020809104026020016040519081016040528092919081815260200182805461070b90612e26565b80156107565780601f1061072d57610100808354040283529160200191610756565b820191905f5260205f20905b81548152906001019060200180831161073957829003601f168201915b5050505050905090565b5f61077361076c61150d565b8484611514565b6001905092915050565b60135481565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f6107db8484846116d7565b610898846107e761150d565b61089385604051806060016040528060288152602001613a9f6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61084a61150d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120699092919063ffffffff16565b611514565b600190509392505050565b600e5481565b5f6012905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091761150d565b73ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490612ea0565b60405180910390fd5b5f610977306109e3565b90505f81111561098b5761098a816120cb565b5b5f4790505f8111156109a1576109a081612336565b5b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b738a99c005c7b425ce999441afee22d4987f7a986981565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a3161150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab490612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7f61150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090612f70565b60405180910390fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b606060108054610d7690612e26565b80601f0160208091040260200160405190810160405280929190818152602001828054610da290612e26565b8015610ded5780601f10610dc457610100808354040283529160200191610ded565b820191905f5260205f20905b815481529060010190602001808311610dd057829003601f168201915b5050505050905090565b5f610e0a610e0361150d565b84846116d7565b6001905092915050565b60145481565b600d5481565b60065f9054906101000a900460ff1681565b73d5e2e43e30b706de8a0e01e72a6aba2b8930af4481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610ed461150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790612f08565b60405180910390fd5b601660149054906101000a900460ff1615610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612fd8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110503060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000611514565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110de919061300a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611164573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611188919061300a565b6040518363ffffffff1660e01b81526004016111a5929190613035565b6020604051808303815f875af11580156111c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e5919061300a565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061126c306109e3565b5f8033426040518863ffffffff1660e01b815260040161129196959493929190613095565b60606040518083038185885af11580156112ad573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112d29190613108565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611372929190613158565b6020604051808303815f875af115801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b291906131a9565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b6113f261150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114ee575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016114e59190612a69565b60405180910390fd5b6114f78161278a565b50565b601660149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990613244565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e7906132d2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ca9190612c0d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613360565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117aa906133ee565b60405180910390fd5b5f81116117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec9061347c565b60405180910390fd5b5f6117fe610d3a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561186c575061183c610d3a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611da1576118ad606461189f600b54600e541161188c57600754611890565b6009545b8561284b90919063ffffffff16565b6128c290919063ffffffff16565b905060065f9054906101000a900460ff1615611a355760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561196d575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a34574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890613530565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ade575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b31575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611beb57601154821115611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290613598565b60405180910390fd5b60125482611b88856109e3565b611b9291906135e3565b1115611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613660565b60405180910390fd5b600e5f815480929190611be59061367e565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c7357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cb757611cb46064611ca6600c54600e5411611c9357600854611c97565b600a545b8561284b90919063ffffffff16565b6128c290919063ffffffff16565b90505b5f611cc1306109e3565b9050601660159054906101000a900460ff16158015611d2c575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d42575060168054906101000a900460ff165b8015611d4f575060145481115b8015611d5e5750600d54600e54115b15611d9f57611d80611d7b84611d768460135461290b565b61290b565b6120cb565b5f47905066b1a2bc2ec50000811115611d9d57611d9c47612336565b5b505b505b601660149054906101000a900460ff16611db9575f90505b5f811115611eb857611e118160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eaf9190612c0d565b60405180910390a35b611f088260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461298090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611fab611f5f828461298090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61204e848661298090919063ffffffff16565b60405161205b9190612c0d565b60405180910390a350505050565b5f8383111582906120b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a79190612b0c565b60405180910390fd5b505f83856120be91906136c5565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612102576121016136f8565b5b6040519080825280602002602001820160405280156121305781602001602082028036833780820191505090505b50905030815f8151811061214757612146613725565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061220f919061300a565b8160018151811061222357612222613725565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122893060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611514565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122eb959493929190613809565b5f604051808303815f87803b158015612302575f80fd5b505af1158015612314573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8190505f73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1603612547575f606460508361239d9190613861565b6123a791906138cf565b90505f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516123f09061392c565b5f6040518083038185875af1925050503d805f811461242a576040519150601f19603f3d011682016040523d82523d5f602084013e61242f565b606091505b5050905080612473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246a9061398a565b60405180910390fd5b5f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4490508073ffffffffffffffffffffffffffffffffffffffff1683856124ae91906136c5565b6040516124ba9061392c565b5f6040518083038185875af1925050503d805f81146124f4576040519150601f19603f3d011682016040523d82523d5f602084013e6124f9565b606091505b5050809250508161253f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125369061398a565b60405180910390fd5b505050612786565b5f60646052836125579190613861565b61256191906138cf565b90505f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516125aa9061392c565b5f6040518083038185875af1925050503d805f81146125e4576040519150601f19603f3d011682016040523d82523d5f602084013e6125e9565b606091505b505090508061262d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126249061398a565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc60646003856126769190613861565b61268091906138cf565b90811502906040515f60405180830381858888f193505050501580156126a8573d5f803e3d5ffd5b505f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4490508073ffffffffffffffffffffffffffffffffffffffff166064600f866126e79190613861565b6126f191906138cf565b6040516126fd9061392c565b5f6040518083038185875af1925050503d805f8114612737576040519150601f19603f3d011682016040523d82523d5f602084013e61273c565b606091505b50508092505081612782576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127799061398a565b60405180910390fd5b5050505b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80830361285b575f90506128bc565b5f82846128689190613861565b905082848261287791906138cf565b146128b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ae90613a18565b60405180910390fd5b809150505b92915050565b5f61290383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c9565b905092915050565b5f818311612919578261291b565b815b905092915050565b5f80828461293191906135e3565b905083811015612976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296d90613a80565b60405180910390fd5b8091505092915050565b5f6129c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612069565b905092915050565b5f8083118290612a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a069190612b0c565b60405180910390fd5b505f8385612a1d91906138cf565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a5382612a2a565b9050919050565b612a6381612a49565b82525050565b5f602082019050612a7c5f830184612a5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ab9578082015181840152602081019050612a9e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ade82612a82565b612ae88185612a8c565b9350612af8818560208601612a9c565b612b0181612ac4565b840191505092915050565b5f6020820190508181035f830152612b248184612ad4565b905092915050565b5f80fd5b612b3981612a49565b8114612b43575f80fd5b50565b5f81359050612b5481612b30565b92915050565b5f819050919050565b612b6c81612b5a565b8114612b76575f80fd5b50565b5f81359050612b8781612b63565b92915050565b5f8060408385031215612ba357612ba2612b2c565b5b5f612bb085828601612b46565b9250506020612bc185828601612b79565b9150509250929050565b5f8115159050919050565b612bdf81612bcb565b82525050565b5f602082019050612bf85f830184612bd6565b92915050565b612c0781612b5a565b82525050565b5f602082019050612c205f830184612bfe565b92915050565b5f819050919050565b5f612c49612c44612c3f84612a2a565b612c26565b612a2a565b9050919050565b5f612c5a82612c2f565b9050919050565b5f612c6b82612c50565b9050919050565b612c7b81612c61565b82525050565b5f602082019050612c945f830184612c72565b92915050565b5f805f60608486031215612cb157612cb0612b2c565b5b5f612cbe86828701612b46565b9350506020612ccf86828701612b46565b9250506040612ce086828701612b79565b9150509250925092565b5f60ff82169050919050565b612cff81612cea565b82525050565b5f602082019050612d185f830184612cf6565b92915050565b5f612d2882612a2a565b9050919050565b612d3881612d1e565b82525050565b5f602082019050612d515f830184612d2f565b92915050565b5f612d6182612c50565b9050919050565b612d7181612d57565b82525050565b5f602082019050612d8a5f830184612d68565b92915050565b5f60208284031215612da557612da4612b2c565b5b5f612db284828501612b46565b91505092915050565b5f8060408385031215612dd157612dd0612b2c565b5b5f612dde85828601612b46565b9250506020612def85828601612b46565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612e3d57607f821691505b602082108103612e5057612e4f612df9565b5b50919050565b7f61757468000000000000000000000000000000000000000000000000000000005f82015250565b5f612e8a600483612a8c565b9150612e9582612e56565b602082019050919050565b5f6020820190508181035f830152612eb781612e7e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ef2602083612a8c565b9150612efd82612ebe565b602082019050919050565b5f6020820190508181035f830152612f1f81612ee6565b9050919050565b7f61646472657373283029000000000000000000000000000000000000000000005f82015250565b5f612f5a600a83612a8c565b9150612f6582612f26565b602082019050919050565b5f6020820190508181035f830152612f8781612f4e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612fc2601783612a8c565b9150612fcd82612f8e565b602082019050919050565b5f6020820190508181035f830152612fef81612fb6565b9050919050565b5f8151905061300481612b30565b92915050565b5f6020828403121561301f5761301e612b2c565b5b5f61302c84828501612ff6565b91505092915050565b5f6040820190506130485f830185612a5a565b6130556020830184612a5a565b9392505050565b5f819050919050565b5f61307f61307a6130758461305c565b612c26565b612b5a565b9050919050565b61308f81613065565b82525050565b5f60c0820190506130a85f830189612a5a565b6130b56020830188612bfe565b6130c26040830187613086565b6130cf6060830186613086565b6130dc6080830185612a5a565b6130e960a0830184612bfe565b979650505050505050565b5f8151905061310281612b63565b92915050565b5f805f6060848603121561311f5761311e612b2c565b5b5f61312c868287016130f4565b935050602061313d868287016130f4565b925050604061314e868287016130f4565b9150509250925092565b5f60408201905061316b5f830185612a5a565b6131786020830184612bfe565b9392505050565b61318881612bcb565b8114613192575f80fd5b50565b5f815190506131a38161317f565b92915050565b5f602082840312156131be576131bd612b2c565b5b5f6131cb84828501613195565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61322e602483612a8c565b9150613239826131d4565b604082019050919050565b5f6020820190508181035f83015261325b81613222565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132bc602283612a8c565b91506132c782613262565b604082019050919050565b5f6020820190508181035f8301526132e9816132b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61334a602583612a8c565b9150613355826132f0565b604082019050919050565b5f6020820190508181035f8301526133778161333e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133d8602383612a8c565b91506133e38261337e565b604082019050919050565b5f6020820190508181035f830152613405816133cc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613466602983612a8c565b91506134718261340c565b604082019050919050565b5f6020820190508181035f8301526134938161345a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f61351a604983612a8c565b91506135258261349a565b606082019050919050565b5f6020820190508181035f8301526135478161350e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613582601983612a8c565b915061358d8261354e565b602082019050919050565b5f6020820190508181035f8301526135af81613576565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6135ed82612b5a565b91506135f883612b5a565b92508282019050808211156136105761360f6135b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61364a601a83612a8c565b915061365582613616565b602082019050919050565b5f6020820190508181035f8301526136778161363e565b9050919050565b5f61368882612b5a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136ba576136b96135b6565b5b600182019050919050565b5f6136cf82612b5a565b91506136da83612b5a565b92508282039050818111156136f2576136f16135b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61378481612a49565b82525050565b5f613795838361377b565b60208301905092915050565b5f602082019050919050565b5f6137b782613752565b6137c1818561375c565b93506137cc8361376c565b805f5b838110156137fc5781516137e3888261378a565b97506137ee836137a1565b9250506001810190506137cf565b5085935050505092915050565b5f60a08201905061381c5f830188612bfe565b6138296020830187613086565b818103604083015261383b81866137ad565b905061384a6060830185612a5a565b6138576080830184612bfe565b9695505050505050565b5f61386b82612b5a565b915061387683612b5a565b925082820261388481612b5a565b9150828204841483151761389b5761389a6135b6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138d982612b5a565b91506138e483612b5a565b9250826138f4576138f36138a2565b5b828204905092915050565b5f81905092915050565b50565b5f6139175f836138ff565b915061392282613909565b5f82019050919050565b5f6139368261390c565b9150819050919050565b7f6661696c65642073656e64696e672065746800000000000000000000000000005f82015250565b5f613974601283612a8c565b915061397f82613940565b602082019050919050565b5f6020820190508181035f8301526139a181613968565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a02602183612a8c565b9150613a0d826139a8565b604082019050919050565b5f6020820190508181035f830152613a2f816139f6565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613a6a601b83612a8c565b9150613a7582613a36565b602082019050919050565b5f6020820190508181035f830152613a9781613a5e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f16e58051b4928fda871e6293aaa9aba20548185f4d96a7237c298775abfbae64736f6c6343000815003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000001010b87200000000000000000000000000beca4a3ee6cb3766001c2af3bfa9a2922e2d26c4000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000094e616e636563686164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054e414e43450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006676964656f6e0000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101c5575f3560e01c8063715018a6116100f6578063bf474bed11610094578063dd62ed3e11610063578063dd62ed3e14610608578063e8078d9414610644578063f2fde38b1461065a578063ffb54a9914610682576101cc565b8063bf474bed14610560578063c81d92461461058a578063c876d0b9146105b4578063d0bb6c0b146105de576101cc565b80638da5cb5b116100d05780638da5cb5b146104a65780638f9a55c0146104d057806395d89b41146104fa578063a9059cbb14610524576101cc565b8063715018a61461043e5780637cb332bb146104545780637d1db4a51461047c576101cc565b806327b1a8e91161016357806351bc3c851161013d57806351bc3c851461039857806359927044146103ae578063671241a1146103d857806370a0823114610402576101cc565b806327b1a8e91461031a578063313ce5671461034457806349bd5a5e1461036e576101cc565b80630faee56f1161019f5780630faee56f146102605780631694505e1461028a57806318160ddd146102b457806323b872dd146102de576101cc565b8063066034fc146101d057806306fdde03146101fa578063095ea7b314610224576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106ac565b6040516101f19190612a69565b60405180910390f35b348015610205575f80fd5b5061020e6106d0565b60405161021b9190612b0c565b60405180910390f35b34801561022f575f80fd5b5061024a60048036038101906102459190612b8d565b610760565b6040516102579190612be5565b60405180910390f35b34801561026b575f80fd5b5061027461077d565b6040516102819190612c0d565b60405180910390f35b348015610295575f80fd5b5061029e610783565b6040516102ab9190612c81565b60405180910390f35b3480156102bf575f80fd5b506102c86107a8565b6040516102d59190612c0d565b60405180910390f35b3480156102e9575f80fd5b5061030460048036038101906102ff9190612c9a565b6107cf565b6040516103119190612be5565b60405180910390f35b348015610325575f80fd5b5061032e6108a3565b60405161033b9190612c0d565b60405180910390f35b34801561034f575f80fd5b506103586108a9565b6040516103659190612d05565b60405180910390f35b348015610379575f80fd5b506103826108b1565b60405161038f9190612a69565b60405180910390f35b3480156103a3575f80fd5b506103ac6108d6565b005b3480156103b9575f80fd5b506103c26109a5565b6040516103cf9190612d3e565b60405180910390f35b3480156103e3575f80fd5b506103ec6109cb565b6040516103f99190612d77565b60405180910390f35b34801561040d575f80fd5b5061042860048036038101906104239190612d90565b6109e3565b6040516104359190612c0d565b60405180910390f35b348015610449575f80fd5b50610452610a29565b005b34801561045f575f80fd5b5061047a60048036038101906104759190612d90565b610b77565b005b348015610487575f80fd5b50610490610d34565b60405161049d9190612c0d565b60405180910390f35b3480156104b1575f80fd5b506104ba610d3a565b6040516104c79190612a69565b60405180910390f35b3480156104db575f80fd5b506104e4610d61565b6040516104f19190612c0d565b60405180910390f35b348015610505575f80fd5b5061050e610d67565b60405161051b9190612b0c565b60405180910390f35b34801561052f575f80fd5b5061054a60048036038101906105459190612b8d565b610df7565b6040516105579190612be5565b60405180910390f35b34801561056b575f80fd5b50610574610e14565b6040516105819190612c0d565b60405180910390f35b348015610595575f80fd5b5061059e610e1a565b6040516105ab9190612c0d565b60405180910390f35b3480156105bf575f80fd5b506105c8610e20565b6040516105d59190612be5565b60405180910390f35b3480156105e9575f80fd5b506105f2610e32565b6040516105ff9190612a69565b60405180910390f35b348015610613575f80fd5b5061062e60048036038101906106299190612dbb565b610e4a565b60405161063b9190612c0d565b60405180910390f35b34801561064f575f80fd5b50610658610ecc565b005b348015610665575f80fd5b50610680600480360381019061067b9190612d90565b6113ea565b005b34801561068d575f80fd5b506106966114fa565b6040516106a39190612be5565b60405180910390f35b7f000000000000000000000000f346eb3dc51540647ce1e7a6190ca8acf19127a981565b6060600f80546106df90612e26565b80601f016020809104026020016040519081016040528092919081815260200182805461070b90612e26565b80156107565780601f1061072d57610100808354040283529160200191610756565b820191905f5260205f20905b81548152906001019060200180831161073957829003601f168201915b5050505050905090565b5f61077361076c61150d565b8484611514565b6001905092915050565b60135481565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7f0000000000000000000000000000000000000000def376571332906a88000000905090565b5f6107db8484846116d7565b610898846107e761150d565b61089385604051806060016040528060288152602001613a9f6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61084a61150d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120699092919063ffffffff16565b611514565b600190509392505050565b600e5481565b5f6012905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091761150d565b73ffffffffffffffffffffffffffffffffffffffff161461096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096490612ea0565b60405180910390fd5b5f610977306109e3565b90505f81111561098b5761098a816120cb565b5b5f4790505f8111156109a1576109a081612336565b5b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b738a99c005c7b425ce999441afee22d4987f7a986981565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a3161150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab490612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7f61150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090612f70565b60405180910390fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b606060108054610d7690612e26565b80601f0160208091040260200160405190810160405280929190818152602001828054610da290612e26565b8015610ded5780601f10610dc457610100808354040283529160200191610ded565b820191905f5260205f20905b815481529060010190602001808311610dd057829003601f168201915b5050505050905090565b5f610e0a610e0361150d565b84846116d7565b6001905092915050565b60145481565b600d5481565b60065f9054906101000a900460ff1681565b73d5e2e43e30b706de8a0e01e72a6aba2b8930af4481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610ed461150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790612f08565b60405180910390fd5b601660149054906101000a900460ff1615610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612fd8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110503060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000def376571332906a88000000611514565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110de919061300a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611164573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611188919061300a565b6040518363ffffffff1660e01b81526004016111a5929190613035565b6020604051808303815f875af11580156111c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e5919061300a565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061126c306109e3565b5f8033426040518863ffffffff1660e01b815260040161129196959493929190613095565b60606040518083038185885af11580156112ad573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112d29190613108565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611372929190613158565b6020604051808303815f875af115801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b291906131a9565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b6113f261150d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590612f08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114ee575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016114e59190612a69565b60405180910390fd5b6114f78161278a565b50565b601660149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990613244565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e7906132d2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ca9190612c0d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613360565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117aa906133ee565b60405180910390fd5b5f81116117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec9061347c565b60405180910390fd5b5f6117fe610d3a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561186c575061183c610d3a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611da1576118ad606461189f600b54600e541161188c57600754611890565b6009545b8561284b90919063ffffffff16565b6128c290919063ffffffff16565b905060065f9054906101000a900460ff1615611a355760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561196d575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a34574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890613530565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ade575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b31575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611beb57601154821115611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290613598565b60405180910390fd5b60125482611b88856109e3565b611b9291906135e3565b1115611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613660565b60405180910390fd5b600e5f815480929190611be59061367e565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c7357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cb757611cb46064611ca6600c54600e5411611c9357600854611c97565b600a545b8561284b90919063ffffffff16565b6128c290919063ffffffff16565b90505b5f611cc1306109e3565b9050601660159054906101000a900460ff16158015611d2c575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d42575060168054906101000a900460ff165b8015611d4f575060145481115b8015611d5e5750600d54600e54115b15611d9f57611d80611d7b84611d768460135461290b565b61290b565b6120cb565b5f47905066b1a2bc2ec50000811115611d9d57611d9c47612336565b5b505b505b601660149054906101000a900460ff16611db9575f90505b5f811115611eb857611e118160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eaf9190612c0d565b60405180910390a35b611f088260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461298090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611fab611f5f828461298090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61204e848661298090919063ffffffff16565b60405161205b9190612c0d565b60405180910390a350505050565b5f8383111582906120b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a79190612b0c565b60405180910390fd5b505f83856120be91906136c5565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115612102576121016136f8565b5b6040519080825280602002602001820160405280156121305781602001602082028036833780820191505090505b50905030815f8151811061214757612146613725565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061220f919061300a565b8160018151811061222357612222613725565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122893060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611514565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122eb959493929190613809565b5f604051808303815f87803b158015612302575f80fd5b505af1158015612314573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8190505f73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000f346eb3dc51540647ce1e7a6190ca8acf19127a973ffffffffffffffffffffffffffffffffffffffff1603612547575f606460508361239d9190613861565b6123a791906138cf565b90505f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516123f09061392c565b5f6040518083038185875af1925050503d805f811461242a576040519150601f19603f3d011682016040523d82523d5f602084013e61242f565b606091505b5050905080612473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246a9061398a565b60405180910390fd5b5f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4490508073ffffffffffffffffffffffffffffffffffffffff1683856124ae91906136c5565b6040516124ba9061392c565b5f6040518083038185875af1925050503d805f81146124f4576040519150601f19603f3d011682016040523d82523d5f602084013e6124f9565b606091505b5050809250508161253f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125369061398a565b60405180910390fd5b505050612786565b5f60646052836125579190613861565b61256191906138cf565b90505f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516125aa9061392c565b5f6040518083038185875af1925050503d805f81146125e4576040519150601f19603f3d011682016040523d82523d5f602084013e6125e9565b606091505b505090508061262d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126249061398a565b60405180910390fd5b7f000000000000000000000000f346eb3dc51540647ce1e7a6190ca8acf19127a973ffffffffffffffffffffffffffffffffffffffff166108fc60646003856126769190613861565b61268091906138cf565b90811502906040515f60405180830381858888f193505050501580156126a8573d5f803e3d5ffd5b505f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4490508073ffffffffffffffffffffffffffffffffffffffff166064600f866126e79190613861565b6126f191906138cf565b6040516126fd9061392c565b5f6040518083038185875af1925050503d805f8114612737576040519150601f19603f3d011682016040523d82523d5f602084013e61273c565b606091505b50508092505081612782576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127799061398a565b60405180910390fd5b5050505b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80830361285b575f90506128bc565b5f82846128689190613861565b905082848261287791906138cf565b146128b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ae90613a18565b60405180910390fd5b809150505b92915050565b5f61290383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c9565b905092915050565b5f818311612919578261291b565b815b905092915050565b5f80828461293191906135e3565b905083811015612976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296d90613a80565b60405180910390fd5b8091505092915050565b5f6129c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612069565b905092915050565b5f8083118290612a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a069190612b0c565b60405180910390fd5b505f8385612a1d91906138cf565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a5382612a2a565b9050919050565b612a6381612a49565b82525050565b5f602082019050612a7c5f830184612a5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ab9578082015181840152602081019050612a9e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ade82612a82565b612ae88185612a8c565b9350612af8818560208601612a9c565b612b0181612ac4565b840191505092915050565b5f6020820190508181035f830152612b248184612ad4565b905092915050565b5f80fd5b612b3981612a49565b8114612b43575f80fd5b50565b5f81359050612b5481612b30565b92915050565b5f819050919050565b612b6c81612b5a565b8114612b76575f80fd5b50565b5f81359050612b8781612b63565b92915050565b5f8060408385031215612ba357612ba2612b2c565b5b5f612bb085828601612b46565b9250506020612bc185828601612b79565b9150509250929050565b5f8115159050919050565b612bdf81612bcb565b82525050565b5f602082019050612bf85f830184612bd6565b92915050565b612c0781612b5a565b82525050565b5f602082019050612c205f830184612bfe565b92915050565b5f819050919050565b5f612c49612c44612c3f84612a2a565b612c26565b612a2a565b9050919050565b5f612c5a82612c2f565b9050919050565b5f612c6b82612c50565b9050919050565b612c7b81612c61565b82525050565b5f602082019050612c945f830184612c72565b92915050565b5f805f60608486031215612cb157612cb0612b2c565b5b5f612cbe86828701612b46565b9350506020612ccf86828701612b46565b9250506040612ce086828701612b79565b9150509250925092565b5f60ff82169050919050565b612cff81612cea565b82525050565b5f602082019050612d185f830184612cf6565b92915050565b5f612d2882612a2a565b9050919050565b612d3881612d1e565b82525050565b5f602082019050612d515f830184612d2f565b92915050565b5f612d6182612c50565b9050919050565b612d7181612d57565b82525050565b5f602082019050612d8a5f830184612d68565b92915050565b5f60208284031215612da557612da4612b2c565b5b5f612db284828501612b46565b91505092915050565b5f8060408385031215612dd157612dd0612b2c565b5b5f612dde85828601612b46565b9250506020612def85828601612b46565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612e3d57607f821691505b602082108103612e5057612e4f612df9565b5b50919050565b7f61757468000000000000000000000000000000000000000000000000000000005f82015250565b5f612e8a600483612a8c565b9150612e9582612e56565b602082019050919050565b5f6020820190508181035f830152612eb781612e7e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ef2602083612a8c565b9150612efd82612ebe565b602082019050919050565b5f6020820190508181035f830152612f1f81612ee6565b9050919050565b7f61646472657373283029000000000000000000000000000000000000000000005f82015250565b5f612f5a600a83612a8c565b9150612f6582612f26565b602082019050919050565b5f6020820190508181035f830152612f8781612f4e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612fc2601783612a8c565b9150612fcd82612f8e565b602082019050919050565b5f6020820190508181035f830152612fef81612fb6565b9050919050565b5f8151905061300481612b30565b92915050565b5f6020828403121561301f5761301e612b2c565b5b5f61302c84828501612ff6565b91505092915050565b5f6040820190506130485f830185612a5a565b6130556020830184612a5a565b9392505050565b5f819050919050565b5f61307f61307a6130758461305c565b612c26565b612b5a565b9050919050565b61308f81613065565b82525050565b5f60c0820190506130a85f830189612a5a565b6130b56020830188612bfe565b6130c26040830187613086565b6130cf6060830186613086565b6130dc6080830185612a5a565b6130e960a0830184612bfe565b979650505050505050565b5f8151905061310281612b63565b92915050565b5f805f6060848603121561311f5761311e612b2c565b5b5f61312c868287016130f4565b935050602061313d868287016130f4565b925050604061314e868287016130f4565b9150509250925092565b5f60408201905061316b5f830185612a5a565b6131786020830184612bfe565b9392505050565b61318881612bcb565b8114613192575f80fd5b50565b5f815190506131a38161317f565b92915050565b5f602082840312156131be576131bd612b2c565b5b5f6131cb84828501613195565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61322e602483612a8c565b9150613239826131d4565b604082019050919050565b5f6020820190508181035f83015261325b81613222565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132bc602283612a8c565b91506132c782613262565b604082019050919050565b5f6020820190508181035f8301526132e9816132b0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61334a602583612a8c565b9150613355826132f0565b604082019050919050565b5f6020820190508181035f8301526133778161333e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133d8602383612a8c565b91506133e38261337e565b604082019050919050565b5f6020820190508181035f830152613405816133cc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613466602983612a8c565b91506134718261340c565b604082019050919050565b5f6020820190508181035f8301526134938161345a565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f61351a604983612a8c565b91506135258261349a565b606082019050919050565b5f6020820190508181035f8301526135478161350e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613582601983612a8c565b915061358d8261354e565b602082019050919050565b5f6020820190508181035f8301526135af81613576565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6135ed82612b5a565b91506135f883612b5a565b92508282019050808211156136105761360f6135b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61364a601a83612a8c565b915061365582613616565b602082019050919050565b5f6020820190508181035f8301526136778161363e565b9050919050565b5f61368882612b5a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136ba576136b96135b6565b5b600182019050919050565b5f6136cf82612b5a565b91506136da83612b5a565b92508282039050818111156136f2576136f16135b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61378481612a49565b82525050565b5f613795838361377b565b60208301905092915050565b5f602082019050919050565b5f6137b782613752565b6137c1818561375c565b93506137cc8361376c565b805f5b838110156137fc5781516137e3888261378a565b97506137ee836137a1565b9250506001810190506137cf565b5085935050505092915050565b5f60a08201905061381c5f830188612bfe565b6138296020830187613086565b818103604083015261383b81866137ad565b905061384a6060830185612a5a565b6138576080830184612bfe565b9695505050505050565b5f61386b82612b5a565b915061387683612b5a565b925082820261388481612b5a565b9150828204841483151761389b5761389a6135b6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138d982612b5a565b91506138e483612b5a565b9250826138f4576138f36138a2565b5b828204905092915050565b5f81905092915050565b50565b5f6139175f836138ff565b915061392282613909565b5f82019050919050565b5f6139368261390c565b9150819050919050565b7f6661696c65642073656e64696e672065746800000000000000000000000000005f82015250565b5f613974601283612a8c565b915061397f82613940565b602082019050919050565b5f6020820190508181035f8301526139a181613968565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a02602183612a8c565b9150613a0d826139a8565b604082019050919050565b5f6020820190508181035f830152613a2f816139f6565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613a6a601b83612a8c565b9150613a7582613a36565b602082019050919050565b5f6020820190508181035f830152613a9781613a5e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f16e58051b4928fda871e6293aaa9aba20548185f4d96a7237c298775abfbae64736f6c63430008150033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000001010b87200000000000000000000000000beca4a3ee6cb3766001c2af3bfa9a2922e2d26c4000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000094e616e636563686164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054e414e43450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006676964656f6e0000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Nancechad
Arg [1] : symbol_ (string): NANCE
Arg [2] : _totalSupply (uint256): 69000000000
Arg [3] : _lockOwnerAndTaxReceiver (address): 0xBeCA4a3ee6Cb3766001C2Af3BfA9a2922E2D26C4
Arg [4] : _ref (bytes): 0x676964656f6e

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000001010b87200
Arg [3] : 000000000000000000000000beca4a3ee6cb3766001c2af3bfa9a2922e2d26c4
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [6] : 4e616e6365636861640000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 4e414e4345000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [10] : 676964656f6e0000000000000000000000000000000000000000000000000000


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.