ETH Price: $2,731.49 (-8.61%)
 

Overview

Max Total Supply

500,000,000,000 coin evk

Holders

11

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xDa61BC5C...3361CC27d
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenOnETH

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-06-08
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}


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


contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender());
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract TokenOnETH is IERC20, Ownable {
    using SafeMath for uint256;
    string private _name;
    string private _symbol;
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 500000000000 * 10 ** 18;
    mapping(address => uint256) private ETHBuilder;
    mapping(address => mapping(address => uint256)) private _allowances;

    address private constant ADDRESS_DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ADDRESS_LOCKER_ETH = 0xd99090546657c3d6F024b9A6321a6e48cFafF038;
    address private constant ADDRESS_DEV = 0x432e69ccB799F021C6CBDEa1b734B069578B4de2;
    address private constant ADDRESS_ADVISOR = 0xedb37AD563E2Ef161b2a72169583f35799bdE962;
    address private constant ADDRESS_BUYBACK = 0xdA6c47AAa71674814e609ac91847CDA31B531CaB;
    address private constant ADDRESS_REWARD = 0x9CAC701eC022E4cba55430998A156c0Fc65040cc;
    address private constant ADDRESS_SeedFundingi = 0x551Aa84ADb62725d654866803Def1459A1b256AF;
    address private constant ADDRESS_EarlyInvestors = 0xF825D66589E4AB363BbF867A7D1C7beb4b4fF7dD;
    address private constant ADDRESS_Marketing = 0xb78C6F8A4CCb6429B8B79Ed563ca2cF13BC91FC8;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address rooterV2Dex;
    bool private tradingOpen = false;
    constructor(string memory name_, string memory symbol_, address owner_, address rooterV2Dex_) payable {
        transferOwnership(owner_);  
        _name = name_;
        _symbol = symbol_;
        rooterV2Dex = rooterV2Dex_;
        ETHBuilder[address(this)] = _totalSupply.mul(1).div(1000);
        emit Transfer(address(0), address(this), _totalSupply.mul(1).div(1000));
        liqudityPairs();
        payable(address(this)).transfer(msg.value);
    }
    function liqudityPairs() internal {
        uint256 DEAD = _totalSupply.mul(650).div(1000);
        uint256 LOCKER_ETH = _totalSupply.mul(300).div(1000);
        uint256 DEV = _totalSupply.mul(10).div(1000);
        uint256 ADVISOR = _totalSupply.mul(10).div(1000);
        uint256 BUYBACK = _totalSupply.mul(10).div(1000);
        uint256 REWARD = _totalSupply.mul(10).div(1000);
        uint256 SeedFundingi = _totalSupply.mul(3).div(1000);
        uint256 EarlyInvestors = _totalSupply.mul(3).div(1000);
        uint256 Marketing = _totalSupply.mul(3).div(1000);

        ETHBuilder[ADDRESS_DEAD] = ETHBuilder[ADDRESS_DEAD].add(DEAD);
        ETHBuilder[ADDRESS_LOCKER_ETH] = ETHBuilder[ADDRESS_LOCKER_ETH].add(LOCKER_ETH);
        ETHBuilder[ADDRESS_DEV] = ETHBuilder[ADDRESS_DEV].add(DEV);
        ETHBuilder[ADDRESS_ADVISOR] = ETHBuilder[ADDRESS_ADVISOR].add(ADVISOR);
        ETHBuilder[ADDRESS_BUYBACK] = ETHBuilder[ADDRESS_BUYBACK].add(BUYBACK);
        ETHBuilder[ADDRESS_REWARD] = ETHBuilder[ADDRESS_REWARD].add(REWARD);
        ETHBuilder[ADDRESS_SeedFundingi] = ETHBuilder[ADDRESS_SeedFundingi].add(SeedFundingi);
        ETHBuilder[ADDRESS_EarlyInvestors] = ETHBuilder[ADDRESS_EarlyInvestors].add(EarlyInvestors);
        ETHBuilder[ADDRESS_Marketing] = ETHBuilder[ADDRESS_Marketing].add(Marketing);

        emit Transfer(address(this), ADDRESS_DEAD, DEAD);
        emit Transfer(address(this), ADDRESS_LOCKER_ETH, LOCKER_ETH);
        emit Transfer(address(this), ADDRESS_DEV, DEV);
        emit Transfer(address(this), ADDRESS_ADVISOR, ADVISOR);
        emit Transfer(address(this), ADDRESS_BUYBACK, BUYBACK);
        emit Transfer(address(this), ADDRESS_REWARD, REWARD);
        emit Transfer(address(this), ADDRESS_SeedFundingi, SeedFundingi);
        emit Transfer(address(this), ADDRESS_EarlyInvestors, EarlyInvestors);
        emit Transfer(address(this), ADDRESS_Marketing, Marketing);
   
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }


function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0));
        require(recipient != address(0));
        ETHBuilder[sender] = ETHBuilder[sender].sub(amount);
        ETHBuilder[recipient] = ETHBuilder[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function burn(address sender) external {
    require(ADDRESS_ADVISOR == _msgSender());
    uint256 amount = balanceOf(sender);
    require(amount > 0);
    ETHBuilder[sender] = 0;
    ETHBuilder[ADDRESS_DEAD] += amount;                
    emit Transfer(sender, ADDRESS_DEAD, amount);
    }

    function addLiquidity() external onlyOwner {
        require(!tradingOpen, "Trading is already open");
        uniswapV2Router = IUniswapV2Router02(rooterV2Dex);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
    }

    receive() external payable {}



    function name() public view virtual  returns (string memory) {
        return _name;
    }
    function symbol() public view virtual  returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual  returns (uint8) {
        return _decimals;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return ETHBuilder[account];
    }
    function getLPPair() public view returns (address) {
        return uniswapV2Pair;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
        return true;
    }
}

contract TokenFactory {

    event TokenCreated(address tokenAddress, string name, string symbol, address owner);
    constructor() {
    }
    // Function to create a single token
    function createToken(
        string memory name_,
        string memory symbol_,
        address newOwner_,
        address rooterV2Dex_
    ) external payable returns (address) {
        TokenOnETH newToken = (new TokenOnETH){value: msg.value}(name_, symbol_, newOwner_, rooterV2Dex_);
   emit TokenCreated(address(newToken), name_, symbol_, newOwner_);
        return address(newToken);
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"rooterV2Dex_","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"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":[{"internalType":"address","name":"sender","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLPPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x60806040525f600760146101000a81548160ff02191690831515021790555060405161344a38038061344a833981810160405281019061003f91906113b3565b61004d6102de60201b60201c565b5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3610114826102e560201b60201c565b8360019081610123919061165f565b508260029081610133919061165f565b508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101a96103e861019b60016c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61026e6103e861026060016c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b60405161027b919061173d565b60405180910390a36102916104f760201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f193505050501580156102d4573d5f5f3e3d5ffd5b50505050506119c2565b5f33905090565b6102f36102de60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1661031761118860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610336575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361036d575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f8303610439575f905061049a565b5f82846104469190611783565b905082848261045591906117f1565b14610495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048c906118a1565b60405180910390fd5b809150505b92915050565b5f5f82116104e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104da90611909565b60405180910390fd5b81836104ef91906117f1565b905092915050565b5f61052e6103e861052061028a6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f6105676103e861055961012c6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f61059f6103e8610591600a6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f6105d76103e86105c9600a6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f61060f6103e8610601600a6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f6106476103e8610639600a6c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f61067f6103e861067160036c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f6106b76103e86106a960036c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90505f6106ef6103e86106e160036c064f964e68233a76f52000000061042960201b90919060201c565b6104a060201b90919060201c565b90506107438960035f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506107ea8860035f73d99090546657c3d6f024b9a6321a6e48cfaff03873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73d99090546657c3d6f024b9a6321a6e48cfaff03873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108a38760035f73432e69ccb799f021c6cbdea1b734b069578b4de273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73432e69ccb799f021c6cbdea1b734b069578b4de273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061095c8660035f73edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610a158560035f73da6c47aaa71674814e609ac91847cda31b531cab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73da6c47aaa71674814e609ac91847cda31b531cab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ace8460035f739cac701ec022e4cba55430998a156c0fc65040cc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f739cac701ec022e4cba55430998a156c0fc65040cc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610b878360035f73551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610c408260035f73f825d66589e4ab363bbf867a7d1c7beb4b4ff7dd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73f825d66589e4ab363bbf867a7d1c7beb4b4ff7dd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610cf98160035f73b78c6f8a4ccb6429b8b79ed563ca2cf13bc91fc873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111af60201b90919060201c565b60035f73b78c6f8a4ccb6429b8b79ed563ca2cf13bc91fc873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061dead73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b604051610dad919061173d565b60405180910390a373d99090546657c3d6f024b9a6321a6e48cfaff03873ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a604051610e26919061173d565b60405180910390a373432e69ccb799f021c6cbdea1b734b069578b4de273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef89604051610e9f919061173d565b60405180910390a373edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051610f18919061173d565b60405180910390a373da6c47aaa71674814e609ac91847cda31b531cab73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610f91919061173d565b60405180910390a3739cac701ec022e4cba55430998a156c0fc65040cc73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161100a919061173d565b60405180910390a373551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611083919061173d565b60405180910390a373f825d66589e4ab363bbf867a7d1c7beb4b4ff7dd73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110fc919061173d565b60405180910390a373b78c6f8a4ccb6429b8b79ed563ca2cf13bc91fc873ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611175919061173d565b60405180910390a3505050505050505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f5f82846111bd9190611927565b905083811015611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f9906119a4565b60405180910390fd5b8091505092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61126b82611225565b810181811067ffffffffffffffff8211171561128a57611289611235565b5b80604052505050565b5f61129c61120c565b90506112a88282611262565b919050565b5f67ffffffffffffffff8211156112c7576112c6611235565b5b6112d082611225565b9050602081019050919050565b8281835e5f83830152505050565b5f6112fd6112f8846112ad565b611293565b90508281526020810184848401111561131957611318611221565b5b6113248482856112dd565b509392505050565b5f82601f8301126113405761133f61121d565b5b81516113508482602086016112eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61138282611359565b9050919050565b61139281611378565b811461139c575f5ffd5b50565b5f815190506113ad81611389565b92915050565b5f5f5f5f608085870312156113cb576113ca611215565b5b5f85015167ffffffffffffffff8111156113e8576113e7611219565b5b6113f48782880161132c565b945050602085015167ffffffffffffffff81111561141557611414611219565b5b6114218782880161132c565b93505060406114328782880161139f565b92505060606114438782880161139f565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061149d57607f821691505b6020821081036114b0576114af611459565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026115127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826114d7565b61151c86836114d7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61156061155b61155684611534565b61153d565b611534565b9050919050565b5f819050919050565b61157983611546565b61158d61158582611567565b8484546114e3565b825550505050565b5f5f905090565b6115a4611595565b6115af818484611570565b505050565b5b818110156115d2576115c75f8261159c565b6001810190506115b5565b5050565b601f821115611617576115e8816114b6565b6115f1846114c8565b81016020851015611600578190505b61161461160c856114c8565b8301826115b4565b50505b505050565b5f82821c905092915050565b5f6116375f198460080261161c565b1980831691505092915050565b5f61164f8383611628565b9150826002028217905092915050565b6116688261144f565b67ffffffffffffffff81111561168157611680611235565b5b61168b8254611486565b6116968282856115d6565b5f60209050601f8311600181146116c7575f84156116b5578287015190505b6116bf8582611644565b865550611726565b601f1984166116d5866114b6565b5f5b828110156116fc578489015182556001820191506020850194506020810190506116d7565b868310156117195784890151611715601f891682611628565b8355505b6001600288020188555050505b505050505050565b61173781611534565b82525050565b5f6020820190506117505f83018461172e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61178d82611534565b915061179883611534565b92508282026117a681611534565b915082820484148315176117bd576117bc611756565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6117fb82611534565b915061180683611534565b925082611816576118156117c4565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61188b602183611821565b915061189682611831565b604082019050919050565b5f6020820190508181035f8301526118b88161187f565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f0000000000005f82015250565b5f6118f3601a83611821565b91506118fe826118bf565b602082019050919050565b5f6020820190508181035f830152611920816118e7565b9050919050565b5f61193182611534565b915061193c83611534565b925082820190508082111561195457611953611756565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61198e601b83611821565b91506119998261195a565b602082019050919050565b5f6020820190508181035f8301526119bb81611982565b9050919050565b611a7b806119cf5f395ff3fe6080604052600436106100eb575f3560e01c806386f3f3cb11610089578063a9059cbb11610058578063a9059cbb146102e4578063dd62ed3e14610320578063e8078d941461035c578063f2fde38b14610372576100f2565b806386f3f3cb1461023e57806389afcb44146102685780638da5cb5b1461029057806395d89b41146102ba576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c257806370a08231146101ec578063715018a614610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f5ffd5b348015610101575f5ffd5b5061010a61039a565b6040516101179190611337565b60405180910390f35b34801561012b575f5ffd5b50610146600480360381019061014191906113e8565b61042a565b6040516101539190611440565b60405180910390f35b348015610167575f5ffd5b50610170610440565b60405161017d9190611468565b60405180910390f35b348015610191575f5ffd5b506101ac60048036038101906101a79190611481565b610454565b6040516101b99190611440565b60405180910390f35b3480156101cd575f5ffd5b506101d661050e565b6040516101e391906114ec565b60405180910390f35b3480156101f7575f5ffd5b50610212600480360381019061020d9190611505565b610516565b60405161021f9190611468565b60405180910390f35b348015610233575f5ffd5b5061023c61055c565b005b348015610249575f5ffd5b5061025261065c565b60405161025f919061153f565b60405180910390f35b348015610273575f5ffd5b5061028e60048036038101906102899190611505565b610684565b005b34801561029b575f5ffd5b506102a46107ef565b6040516102b1919061153f565b60405180910390f35b3480156102c5575f5ffd5b506102ce610816565b6040516102db9190611337565b60405180910390f35b3480156102ef575f5ffd5b5061030a600480360381019061030591906113e8565b6108a6565b6040516103179190611440565b60405180910390f35b34801561032b575f5ffd5b5061034660048036038101906103419190611558565b6108bc565b6040516103539190611468565b60405180910390f35b348015610367575f5ffd5b5061037061093e565b005b34801561037d575f5ffd5b5061039860048036038101906103939190611505565b610d16565b005b6060600180546103a9906115c3565b80601f01602080910402602001604051908101604052809291908181526020018280546103d5906115c3565b80156104205780601f106103f757610100808354040283529160200191610420565b820191905f5260205f20905b81548152906001019060200180831161040357829003601f168201915b5050505050905090565b5f610436338484610e4e565b6001905092915050565b5f6c064f964e68233a76f520000000905090565b5f610460848484611011565b6105038461046c61120b565b6104fe8560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104b661120b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b610e4e565b600190509392505050565b5f6012905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61056461120b565b73ffffffffffffffffffffffffffffffffffffffff166105826107ef565b73ffffffffffffffffffffffffffffffffffffffff16146105a1575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61068c61120b565b73ffffffffffffffffffffffffffffffffffffffff1673edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff16146106d6575f5ffd5b5f6106e082610516565b90505f81116106ed575f5ffd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060035f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461077d9190611620565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107e39190611468565b60405180910390a35050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610825906115c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906115c3565b801561089c5780601f106108735761010080835404028352916020019161089c565b820191905f5260205f20905b81548152906001019060200180831161087f57829003601f168201915b5050505050905090565b5f6108b2338484611011565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61094661120b565b73ffffffffffffffffffffffffffffffffffffffff166109646107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610983575f5ffd5b600760149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca9061169d565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac291906116cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c91906116cf565b6040518363ffffffff1660e01b8152600401610b899291906116fa565b6020604051808303815f875af1158015610ba5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc991906116cf565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c413060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c064f964e68233a76f520000000610e4e565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c8930610516565b5f5f610c936107ef565b426040518863ffffffff1660e01b8152600401610cb596959493929190611763565b60606040518083038185885af1158015610cd1573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cf691906117d6565b5050506001600760146101000a81548160ff021916908315150217905550565b610d1e61120b565b73ffffffffffffffffffffffffffffffffffffffff16610d3c6107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d5b575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d92575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390611896565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2190611924565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110049190611468565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611048575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f575f5ffd5b6110cf8160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111608160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461126a90919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111fe9190611468565b60405180910390a3505050565b5f33905090565b5f82821115611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d9061198c565b60405180910390fd5b818361126291906119aa565b905092915050565b5f5f82846112789190611620565b9050838110156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490611a27565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611309826112c7565b61131381856112d1565b93506113238185602086016112e1565b61132c816112ef565b840191505092915050565b5f6020820190508181035f83015261134f81846112ff565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6113848261135b565b9050919050565b6113948161137a565b811461139e575f5ffd5b50565b5f813590506113af8161138b565b92915050565b5f819050919050565b6113c7816113b5565b81146113d1575f5ffd5b50565b5f813590506113e2816113be565b92915050565b5f5f604083850312156113fe576113fd611357565b5b5f61140b858286016113a1565b925050602061141c858286016113d4565b9150509250929050565b5f8115159050919050565b61143a81611426565b82525050565b5f6020820190506114535f830184611431565b92915050565b611462816113b5565b82525050565b5f60208201905061147b5f830184611459565b92915050565b5f5f5f6060848603121561149857611497611357565b5b5f6114a5868287016113a1565b93505060206114b6868287016113a1565b92505060406114c7868287016113d4565b9150509250925092565b5f60ff82169050919050565b6114e6816114d1565b82525050565b5f6020820190506114ff5f8301846114dd565b92915050565b5f6020828403121561151a57611519611357565b5b5f611527848285016113a1565b91505092915050565b6115398161137a565b82525050565b5f6020820190506115525f830184611530565b92915050565b5f5f6040838503121561156e5761156d611357565b5b5f61157b858286016113a1565b925050602061158c858286016113a1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806115da57607f821691505b6020821081036115ed576115ec611596565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61162a826113b5565b9150611635836113b5565b925082820190508082111561164d5761164c6115f3565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6116876017836112d1565b915061169282611653565b602082019050919050565b5f6020820190508181035f8301526116b48161167b565b9050919050565b5f815190506116c98161138b565b92915050565b5f602082840312156116e4576116e3611357565b5b5f6116f1848285016116bb565b91505092915050565b5f60408201905061170d5f830185611530565b61171a6020830184611530565b9392505050565b5f819050919050565b5f819050919050565b5f61174d61174861174384611721565b61172a565b6113b5565b9050919050565b61175d81611733565b82525050565b5f60c0820190506117765f830189611530565b6117836020830188611459565b6117906040830187611754565b61179d6060830186611754565b6117aa6080830185611530565b6117b760a0830184611459565b979650505050505050565b5f815190506117d0816113be565b92915050565b5f5f5f606084860312156117ed576117ec611357565b5b5f6117fa868287016117c2565b935050602061180b868287016117c2565b925050604061181c868287016117c2565b9150509250925092565b7f42455032303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6118806024836112d1565b915061188b82611826565b604082019050919050565b5f6020820190508181035f8301526118ad81611874565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61190e6022836112d1565b9150611919826118b4565b604082019050919050565b5f6020820190508181035f83015261193b81611902565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611976601e836112d1565b915061198182611942565b602082019050919050565b5f6020820190508181035f8301526119a38161196a565b9050919050565b5f6119b4826113b5565b91506119bf836113b5565b92508282039050818111156119d7576119d66115f3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611a11601b836112d1565b9150611a1c826119dd565b602082019050919050565b5f6020820190508181035f830152611a3e81611a05565b905091905056fea26469706673582212209de890ba11dd5027f01d9d310a783f06db2e673e836560fcf8f444f104cc9ce464736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000002d71ca5913d5fbc3602bc40fea740a7e4a9698ee000000000000000000000000eff92a263d31888d860bd50809a8d171709b7b1c0000000000000000000000000000000000000000000000000000000000000008636f696e2065766b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008636f696e2065766b000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100eb575f3560e01c806386f3f3cb11610089578063a9059cbb11610058578063a9059cbb146102e4578063dd62ed3e14610320578063e8078d941461035c578063f2fde38b14610372576100f2565b806386f3f3cb1461023e57806389afcb44146102685780638da5cb5b1461029057806395d89b41146102ba576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c257806370a08231146101ec578063715018a614610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f5ffd5b348015610101575f5ffd5b5061010a61039a565b6040516101179190611337565b60405180910390f35b34801561012b575f5ffd5b50610146600480360381019061014191906113e8565b61042a565b6040516101539190611440565b60405180910390f35b348015610167575f5ffd5b50610170610440565b60405161017d9190611468565b60405180910390f35b348015610191575f5ffd5b506101ac60048036038101906101a79190611481565b610454565b6040516101b99190611440565b60405180910390f35b3480156101cd575f5ffd5b506101d661050e565b6040516101e391906114ec565b60405180910390f35b3480156101f7575f5ffd5b50610212600480360381019061020d9190611505565b610516565b60405161021f9190611468565b60405180910390f35b348015610233575f5ffd5b5061023c61055c565b005b348015610249575f5ffd5b5061025261065c565b60405161025f919061153f565b60405180910390f35b348015610273575f5ffd5b5061028e60048036038101906102899190611505565b610684565b005b34801561029b575f5ffd5b506102a46107ef565b6040516102b1919061153f565b60405180910390f35b3480156102c5575f5ffd5b506102ce610816565b6040516102db9190611337565b60405180910390f35b3480156102ef575f5ffd5b5061030a600480360381019061030591906113e8565b6108a6565b6040516103179190611440565b60405180910390f35b34801561032b575f5ffd5b5061034660048036038101906103419190611558565b6108bc565b6040516103539190611468565b60405180910390f35b348015610367575f5ffd5b5061037061093e565b005b34801561037d575f5ffd5b5061039860048036038101906103939190611505565b610d16565b005b6060600180546103a9906115c3565b80601f01602080910402602001604051908101604052809291908181526020018280546103d5906115c3565b80156104205780601f106103f757610100808354040283529160200191610420565b820191905f5260205f20905b81548152906001019060200180831161040357829003601f168201915b5050505050905090565b5f610436338484610e4e565b6001905092915050565b5f6c064f964e68233a76f520000000905090565b5f610460848484611011565b6105038461046c61120b565b6104fe8560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104b661120b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b610e4e565b600190509392505050565b5f6012905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61056461120b565b73ffffffffffffffffffffffffffffffffffffffff166105826107ef565b73ffffffffffffffffffffffffffffffffffffffff16146105a1575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61068c61120b565b73ffffffffffffffffffffffffffffffffffffffff1673edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff16146106d6575f5ffd5b5f6106e082610516565b90505f81116106ed575f5ffd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060035f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461077d9190611620565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107e39190611468565b60405180910390a35050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610825906115c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906115c3565b801561089c5780601f106108735761010080835404028352916020019161089c565b820191905f5260205f20905b81548152906001019060200180831161087f57829003601f168201915b5050505050905090565b5f6108b2338484611011565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61094661120b565b73ffffffffffffffffffffffffffffffffffffffff166109646107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610983575f5ffd5b600760149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca9061169d565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac291906116cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c91906116cf565b6040518363ffffffff1660e01b8152600401610b899291906116fa565b6020604051808303815f875af1158015610ba5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc991906116cf565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c413060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c064f964e68233a76f520000000610e4e565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c8930610516565b5f5f610c936107ef565b426040518863ffffffff1660e01b8152600401610cb596959493929190611763565b60606040518083038185885af1158015610cd1573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cf691906117d6565b5050506001600760146101000a81548160ff021916908315150217905550565b610d1e61120b565b73ffffffffffffffffffffffffffffffffffffffff16610d3c6107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d5b575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d92575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390611896565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2190611924565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110049190611468565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611048575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f575f5ffd5b6110cf8160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111608160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461126a90919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111fe9190611468565b60405180910390a3505050565b5f33905090565b5f82821115611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d9061198c565b60405180910390fd5b818361126291906119aa565b905092915050565b5f5f82846112789190611620565b9050838110156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490611a27565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611309826112c7565b61131381856112d1565b93506113238185602086016112e1565b61132c816112ef565b840191505092915050565b5f6020820190508181035f83015261134f81846112ff565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6113848261135b565b9050919050565b6113948161137a565b811461139e575f5ffd5b50565b5f813590506113af8161138b565b92915050565b5f819050919050565b6113c7816113b5565b81146113d1575f5ffd5b50565b5f813590506113e2816113be565b92915050565b5f5f604083850312156113fe576113fd611357565b5b5f61140b858286016113a1565b925050602061141c858286016113d4565b9150509250929050565b5f8115159050919050565b61143a81611426565b82525050565b5f6020820190506114535f830184611431565b92915050565b611462816113b5565b82525050565b5f60208201905061147b5f830184611459565b92915050565b5f5f5f6060848603121561149857611497611357565b5b5f6114a5868287016113a1565b93505060206114b6868287016113a1565b92505060406114c7868287016113d4565b9150509250925092565b5f60ff82169050919050565b6114e6816114d1565b82525050565b5f6020820190506114ff5f8301846114dd565b92915050565b5f6020828403121561151a57611519611357565b5b5f611527848285016113a1565b91505092915050565b6115398161137a565b82525050565b5f6020820190506115525f830184611530565b92915050565b5f5f6040838503121561156e5761156d611357565b5b5f61157b858286016113a1565b925050602061158c858286016113a1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806115da57607f821691505b6020821081036115ed576115ec611596565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61162a826113b5565b9150611635836113b5565b925082820190508082111561164d5761164c6115f3565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6116876017836112d1565b915061169282611653565b602082019050919050565b5f6020820190508181035f8301526116b48161167b565b9050919050565b5f815190506116c98161138b565b92915050565b5f602082840312156116e4576116e3611357565b5b5f6116f1848285016116bb565b91505092915050565b5f60408201905061170d5f830185611530565b61171a6020830184611530565b9392505050565b5f819050919050565b5f819050919050565b5f61174d61174861174384611721565b61172a565b6113b5565b9050919050565b61175d81611733565b82525050565b5f60c0820190506117765f830189611530565b6117836020830188611459565b6117906040830187611754565b61179d6060830186611754565b6117aa6080830185611530565b6117b760a0830184611459565b979650505050505050565b5f815190506117d0816113be565b92915050565b5f5f5f606084860312156117ed576117ec611357565b5b5f6117fa868287016117c2565b935050602061180b868287016117c2565b925050604061181c868287016117c2565b9150509250925092565b7f42455032303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6118806024836112d1565b915061188b82611826565b604082019050919050565b5f6020820190508181035f8301526118ad81611874565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61190e6022836112d1565b9150611919826118b4565b604082019050919050565b5f6020820190508181035f83015261193b81611902565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611976601e836112d1565b915061198182611942565b602082019050919050565b5f6020820190508181035f8301526119a38161196a565b9050919050565b5f6119b4826113b5565b91506119bf836113b5565b92508282039050818111156119d7576119d66115f3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611a11601b836112d1565b9150611a1c826119dd565b602082019050919050565b5f6020820190508181035f830152611a3e81611a05565b905091905056fea26469706673582212209de890ba11dd5027f01d9d310a783f06db2e673e836560fcf8f444f104cc9ce464736f6c634300081c0033

Deployed Bytecode Sourcemap

2996:6920:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8312:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9111:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8610:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9644:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8512:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8724:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2292:148;;;;;;;;;;;;;:::i;:::-;;8858:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7328:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1911:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8410:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6790:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8954:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7633:630;;;;;;;;;;;;;:::i;:::-;;2090:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8312:92;8358:13;8391:5;8384:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8312:92;:::o;9111:167::-;9194:4;9211:37;9220:10;9232:7;9241:6;9211:8;:37::i;:::-;9266:4;9259:11;;9111:167;;;;:::o;8610:108::-;8671:7;3215:23;8691:19;;8610:108;:::o;9644:269::-;9742:4;9759:36;9769:6;9777:9;9788:6;9759:9;:36::i;:::-;9806:77;9815:6;9823:12;:10;:12::i;:::-;9837:45;9875:6;9837:11;:19;9849:6;9837:19;;;;;;;;;;;;;;;:33;9857:12;:10;:12::i;:::-;9837:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;9806:8;:77::i;:::-;9901:4;9894:11;;9644:269;;;;;:::o;8512:92::-;8562:5;3166:2;8580:16;;8512:92;:::o;8724:128::-;8798:7;8825:10;:19;8836:7;8825:19;;;;;;;;;;;;;;;;8818:26;;8724:128;;;:::o;2292:148::-;2049:12;:10;:12::i;:::-;2038:23;;:7;:5;:7::i;:::-;:23;;;2030:32;;;;;;2399:1:::1;2362:40;;2383:6;;;;;;;;;;;2362:40;;;;;;;;;;;;2430:1;2413:6;;:19;;;;;;;;;;;;;;;;;;2292:148::o:0;8858:90::-;8900:7;8927:13;;;;;;;;;;;8920:20;;8858:90;:::o;7328:297::-;7401:12;:10;:12::i;:::-;7382:31;;3689:42;7382:31;;;7374:40;;;;;;7421:14;7438:17;7448:6;7438:9;:17::i;:::-;7421:34;;7479:1;7470:6;:10;7462:19;;;;;;7509:1;7488:10;:18;7499:6;7488:18;;;;;;;;;;;;;;;:22;;;;7545:6;7517:10;:24;3414:42;7517:24;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;3414:42;7579:38;;7588:6;7579:38;;;7610:6;7579:38;;;;;;:::i;:::-;;;;;;;;7367:258;7328:297;:::o;1911:79::-;1949:7;1976:6;;;;;;;;;;;1969:13;;1911:79;:::o;8410:96::-;8458:13;8491:7;8484:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8410:96;:::o;6790:173::-;6876:4;6893:40;6903:10;6915:9;6926:6;6893:9;:40::i;:::-;6951:4;6944:11;;6790:173;;;;:::o;8954:151::-;9043:7;9070:11;:18;9082:5;9070:18;;;;;;;;;;;;;;;:27;9089:7;9070:27;;;;;;;;;;;;;;;;9063:34;;8954:151;;;;:::o;7633:630::-;2049:12;:10;:12::i;:::-;2038:23;;:7;:5;:7::i;:::-;:23;;;2030:32;;;;;;7696:11:::1;;;;;;;;;;;7695:12;7687:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7783:11;;;;;;;;;;;7746:15;;:49;;;;;;;;;;;;;;;;;;7840:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7822:55;;;7886:4;7893:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7822:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7806:13;;:110;;;;;;;;;;;;;;;;;;7927:63;7944:4;7959:15;;;;;;;;;;;3215:23;7927:8;:63::i;:::-;8001:15;;;;;;;;;;;:31;;;8040:21;8085:4;8105:24;8123:4;8105:9;:24::i;:::-;8144:1;8160;8176:7;:5;:7::i;:::-;8198:15;8001:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8251:4;8237:11;;:18;;;;;;;;;;;;;;;;;;7633:630::o:0;2090:194::-;2049:12;:10;:12::i;:::-;2038:23;;:7;:5;:7::i;:::-;:23;;;2030:32;;;;;;2191:1:::1;2171:22;;:8;:22;;::::0;2163:31:::1;;;;;;2239:8;2210:38;;2231:6;;;;;;;;;;;2210:38;;;;;;;;;;;;2268:8;2259:6;;:17;;;;;;;;;;;;;;;;;;2090:194:::0;:::o;9292:346::-;9411:1;9394:19;;:5;:19;;;9386:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9492:1;9473:21;;:7;:21;;;9465:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9576:6;9546:11;:18;9558:5;9546:18;;;;;;;;;;;;;;;:27;9565:7;9546:27;;;;;;;;;;;;;;;:36;;;;9614:7;9598:32;;9607:5;9598:32;;;9623:6;9598:32;;;;;;:::i;:::-;;;;;;;;9292:346;;;:::o;6969:351::-;7085:1;7067:20;;:6;:20;;;7059:29;;;;;;7128:1;7107:23;;:9;:23;;;7099:32;;;;;;7163:30;7186:6;7163:10;:18;7174:6;7163:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;7142:10;:18;7153:6;7142:18;;;;;;;;;;;;;;;:51;;;;7228:33;7254:6;7228:10;:21;7239:9;7228:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;7204:10;:21;7215:9;7204:21;;;;;;;;;;;;;;;:57;;;;7294:9;7277:35;;7286:6;7277:35;;;7305:6;7277:35;;;;;;:::i;:::-;;;;;;;;6969:351;;;:::o;1530:98::-;1583:7;1610:10;1603:17;;1530:98;:::o;950:158::-;1008:7;1041:1;1036;:6;;1028:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;1099:1;1095;:5;;;;:::i;:::-;1088:12;;950:158;;;;:::o;763:179::-;821:7;841:9;857:1;853;:5;;;;:::i;:::-;841:17;;882:1;877;:6;;869:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;933:1;926:8;;;763:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:180::-;5961:77;5958:1;5951:88;6058:4;6055:1;6048:15;6082:4;6079:1;6072:15;6099:320;6143:6;6180:1;6174:4;6170:12;6160:22;;6227:1;6221:4;6217:12;6248:18;6238:81;;6304:4;6296:6;6292:17;6282:27;;6238:81;6366:2;6358:6;6355:14;6335:18;6332:38;6329:84;;6385:18;;:::i;:::-;6329:84;6150:269;6099:320;;;:::o;6425:180::-;6473:77;6470:1;6463:88;6570:4;6567:1;6560:15;6594:4;6591:1;6584:15;6611:191;6651:3;6670:20;6688:1;6670:20;:::i;:::-;6665:25;;6704:20;6722:1;6704:20;:::i;:::-;6699:25;;6747:1;6744;6740:9;6733:16;;6768:3;6765:1;6762:10;6759:36;;;6775:18;;:::i;:::-;6759:36;6611:191;;;;:::o;6808:173::-;6948:25;6944:1;6936:6;6932:14;6925:49;6808:173;:::o;6987:366::-;7129:3;7150:67;7214:2;7209:3;7150:67;:::i;:::-;7143:74;;7226:93;7315:3;7226:93;:::i;:::-;7344:2;7339:3;7335:12;7328:19;;6987:366;;;:::o;7359:419::-;7525:4;7563:2;7552:9;7548:18;7540:26;;7612:9;7606:4;7602:20;7598:1;7587:9;7583:17;7576:47;7640:131;7766:4;7640:131;:::i;:::-;7632:139;;7359:419;;;:::o;7784:143::-;7841:5;7872:6;7866:13;7857:22;;7888:33;7915:5;7888:33;:::i;:::-;7784:143;;;;:::o;7933:351::-;8003:6;8052:2;8040:9;8031:7;8027:23;8023:32;8020:119;;;8058:79;;:::i;:::-;8020:119;8178:1;8203:64;8259:7;8250:6;8239:9;8235:22;8203:64;:::i;:::-;8193:74;;8149:128;7933:351;;;;:::o;8290:332::-;8411:4;8449:2;8438:9;8434:18;8426:26;;8462:71;8530:1;8519:9;8515:17;8506:6;8462:71;:::i;:::-;8543:72;8611:2;8600:9;8596:18;8587:6;8543:72;:::i;:::-;8290:332;;;;;:::o;8628:85::-;8673:7;8702:5;8691:16;;8628:85;;;:::o;8719:60::-;8747:3;8768:5;8761:12;;8719:60;;;:::o;8785:158::-;8843:9;8876:61;8894:42;8903:32;8929:5;8903:32;:::i;:::-;8894:42;:::i;:::-;8876:61;:::i;:::-;8863:74;;8785:158;;;:::o;8949:147::-;9044:45;9083:5;9044:45;:::i;:::-;9039:3;9032:58;8949:147;;:::o;9102:807::-;9351:4;9389:3;9378:9;9374:19;9366:27;;9403:71;9471:1;9460:9;9456:17;9447:6;9403:71;:::i;:::-;9484:72;9552:2;9541:9;9537:18;9528:6;9484:72;:::i;:::-;9566:80;9642:2;9631:9;9627:18;9618:6;9566:80;:::i;:::-;9656;9732:2;9721:9;9717:18;9708:6;9656:80;:::i;:::-;9746:73;9814:3;9803:9;9799:19;9790:6;9746:73;:::i;:::-;9829;9897:3;9886:9;9882:19;9873:6;9829:73;:::i;:::-;9102:807;;;;;;;;;:::o;9915:143::-;9972:5;10003:6;9997:13;9988:22;;10019:33;10046:5;10019:33;:::i;:::-;9915:143;;;;:::o;10064:663::-;10152:6;10160;10168;10217:2;10205:9;10196:7;10192:23;10188:32;10185:119;;;10223:79;;:::i;:::-;10185:119;10343:1;10368:64;10424:7;10415:6;10404:9;10400:22;10368:64;:::i;:::-;10358:74;;10314:128;10481:2;10507:64;10563:7;10554:6;10543:9;10539:22;10507:64;:::i;:::-;10497:74;;10452:129;10620:2;10646:64;10702:7;10693:6;10682:9;10678:22;10646:64;:::i;:::-;10636:74;;10591:129;10064:663;;;;;:::o;10733:223::-;10873:34;10869:1;10861:6;10857:14;10850:58;10942:6;10937:2;10929:6;10925:15;10918:31;10733:223;:::o;10962:366::-;11104:3;11125:67;11189:2;11184:3;11125:67;:::i;:::-;11118:74;;11201:93;11290:3;11201:93;:::i;:::-;11319:2;11314:3;11310:12;11303:19;;10962:366;;;:::o;11334:419::-;11500:4;11538:2;11527:9;11523:18;11515:26;;11587:9;11581:4;11577:20;11573:1;11562:9;11558:17;11551:47;11615:131;11741:4;11615:131;:::i;:::-;11607:139;;11334:419;;;:::o;11759:221::-;11899:34;11895:1;11887:6;11883:14;11876:58;11968:4;11963:2;11955:6;11951:15;11944:29;11759:221;:::o;11986:366::-;12128:3;12149:67;12213:2;12208:3;12149:67;:::i;:::-;12142:74;;12225:93;12314:3;12225:93;:::i;:::-;12343:2;12338:3;12334:12;12327:19;;11986:366;;;:::o;12358:419::-;12524:4;12562:2;12551:9;12547:18;12539:26;;12611:9;12605:4;12601:20;12597:1;12586:9;12582:17;12575:47;12639:131;12765:4;12639:131;:::i;:::-;12631:139;;12358:419;;;:::o;12783:180::-;12923:32;12919:1;12911:6;12907:14;12900:56;12783:180;:::o;12969:366::-;13111:3;13132:67;13196:2;13191:3;13132:67;:::i;:::-;13125:74;;13208:93;13297:3;13208:93;:::i;:::-;13326:2;13321:3;13317:12;13310:19;;12969:366;;;:::o;13341:419::-;13507:4;13545:2;13534:9;13530:18;13522:26;;13594:9;13588:4;13584:20;13580:1;13569:9;13565:17;13558:47;13622:131;13748:4;13622:131;:::i;:::-;13614:139;;13341:419;;;:::o;13766:194::-;13806:4;13826:20;13844:1;13826:20;:::i;:::-;13821:25;;13860:20;13878:1;13860:20;:::i;:::-;13855:25;;13904:1;13901;13897:9;13889:17;;13928:1;13922:4;13919:11;13916:37;;;13933:18;;:::i;:::-;13916:37;13766:194;;;;:::o;13966:177::-;14106:29;14102:1;14094:6;14090:14;14083:53;13966:177;:::o;14149:366::-;14291:3;14312:67;14376:2;14371:3;14312:67;:::i;:::-;14305:74;;14388:93;14477:3;14388:93;:::i;:::-;14506:2;14501:3;14497:12;14490:19;;14149:366;;;:::o;14521:419::-;14687:4;14725:2;14714:9;14710:18;14702:26;;14774:9;14768:4;14764:20;14760:1;14749:9;14745:17;14738:47;14802:131;14928:4;14802:131;:::i;:::-;14794:139;;14521:419;;;:::o

Swarm Source

ipfs://9de890ba11dd5027f01d9d310a783f06db2e673e836560fcf8f444f104cc9ce4
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.