ETH Price: $3,357.14 (+0.17%)

Token

blob (BLOB)
 

Overview

Max Total Supply

0 BLOB

Holders

664

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
2 BLOB
0x3df772d9c8849b7d52909d6b4f1a9bcbb8240222
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:
Blob

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: blob.sol
// SPDX-License-Identifier: AGPL-3.0-only

pragma solidity ^0.8.0;

import "./erc721.sol";
import "./ownable.sol";
import "./erc2981.sol";


library Math {
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
}


library Strings {
    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }
}

library SafeTransferLib {
    function safeTransferETH(address to, uint256 amount) internal {
        bool callStatus;

        assembly {
            // Transfer the ETH and store if it succeeded or not.
            callStatus := call(gas(), to, amount, 0, 0, 0, 0)
        }

        require(callStatus, "ETH_TRANSFER_FAILED");
    }
}

contract Blob is ERC721, Ownable, ERC2981 {
    string baseURI = "";
    uint256 totalSupply = 0;
    uint256 public activationTimestamp;


    // should be less than difference between stage amounts
    uint256 public immutable transactionLimit = 20;

    uint256 public blobPrice = 0.035 ether;

    uint256 public immutable totalBlobs = 3000;

    constructor(uint256 _activationTimestamp) ERC721("blob", "BLOB") {
        _royaltyRecipient = msg.sender;
        _royaltyFee = 700;
        activationTimestamp = _activationTimestamp;
    }

    function setPrice(uint256 newPrice) onlyOwner public {
        blobPrice = newPrice;
    }

    function setActivationTimestamp(uint256 _activationTimestamp) onlyOwner public {
        activationTimestamp = _activationTimestamp;
    }


    function setRoyaltyRecipient(address recipient) onlyOwner public {
        _royaltyRecipient = recipient;
    }

    function setRoyaltyFee(uint256 fee) onlyOwner public {
        _royaltyFee = fee;
    }

    function setBaseURI(string memory _newBaseURI) onlyOwner public {
        baseURI = _newBaseURI;
    }

    function mintBlob(uint256 amount) public payable {
        require(amount > 0, "blobblobBLOBBLOB blobblob blobblob BLOB blobBLOB BLOBBLOB blobBLOBblobblob blobBLOBblobblob");
        require(amount <= transactionLimit, "blobblobBLOBBLOB blobblob blobblob BLOB BLOBblobblobBLOB blobBLOBblob BLOBblobblobblob BLOBBLOBBLOBBLOBblob");
        require(totalSupply + amount <= totalBlobs, "BLOBblobblobblob blobblob BLOB blobBLOB BLOBBLOB BLOBBLOBBLOBblob blobblobBLOBBLOB");
        require(activationTimestamp <= block.timestamp, "blobblobblobblob blobBLOBblob BLOBBLOBblobblob blobblobBLOBBLOB");
        require(msg.value >= blobPrice * amount, "blobblobBLOB blobBLOB blobblob blobblobBLOB BLOB blobblobBLOBBLOB blobblob blobblob BLOB blobblobblob blob BLOBBLOB blobBLOBblob blobBLOBBLOBBLOB");
        require(msg.value == blobPrice * amount, "blobblobBLOB blobBLOB blobblob blobblobBLOB BLOB blobblobBLOBBLOB blobblob blobblob BLOB blobBLOBblobBLOB BLOBBLOBblobblob blobblobblob blob");
        uint256 currentSupply = totalSupply;
        for(uint i; i < amount; i++) {
            _safeMint(msg.sender, currentSupply + i);
        }
        totalSupply += amount;
    }

    function withdraw() public {
        SafeTransferLib.safeTransferETH(owner(), address(this).balance);
    }

    function _baseURI() internal view virtual returns (string memory) {
        return baseURI;
    }

    function tokenURI(uint256 tokenId) public view override returns (string memory) {
        if (bytes(baseURI).length == 0) return "ipfs://QmUy84PeTDoTWSpLvtXpiiocA9AJL2DeCd2cGfj6UizY3L";
        return string(abi.encodePacked(baseURI, Strings.toString(tokenId)));

    }

    function supportsInterface(bytes4 interfaceId)
        public
        pure
        override(ERC721, ERC2981)
        returns (bool)
    {
        return ERC721.supportsInterface(interfaceId) || ERC2981.supportsInterface(interfaceId);
    }

}

File 2 of 4: erc2981.sol
// SPDX-License-Identifier: AGPL-3.0-only

pragma solidity >=0.8.0;

abstract contract ERC2981 {
    uint256 internal _royaltyFee;
    address internal _royaltyRecipient;

    function royaltyInfo(uint256 tokenId, uint256 salePrice) public view virtual returns (
        address receiver,
        uint256 royaltyAmount
    ) {
        receiver = _royaltyRecipient;
        royaltyAmount = (salePrice * _royaltyFee) / 10000;
    }

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x2a55205a; // ERC165 Interface ID for ERC2981
    }
}

File 3 of 4: erc721.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 indexed id);

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

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /*//////////////////////////////////////////////////////////////
                         METADATA STORAGE/LOGIC
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    function tokenURI(uint256 id) public view virtual returns (string memory);

    /*//////////////////////////////////////////////////////////////
                      ERC721 BALANCE/OWNER STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) internal _ownerOf;

    mapping(address => uint256) internal _balanceOf;

    function ownerOf(uint256 id) public view virtual returns (address owner) {
        require((owner = _ownerOf[id]) != address(0), "NOT_MINTED");
    }

    function balanceOf(address owner) public view virtual returns (uint256) {
        require(owner != address(0), "ZERO_ADDRESS");

        return _balanceOf[owner];
    }

    /*//////////////////////////////////////////////////////////////
                         ERC721 APPROVAL STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) public getApproved;

    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

    /*//////////////////////////////////////////////////////////////
                              ERC721 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) public virtual {
        address owner = _ownerOf[id];

        require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED");

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        require(from == _ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

        require(
            msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id],
            "NOT_AUTHORIZED"
        );

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            _balanceOf[from]--;

            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes calldata data
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    /*//////////////////////////////////////////////////////////////
                              ERC165 LOGIC
    //////////////////////////////////////////////////////////////*/

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 id) internal virtual {
        require(to != address(0), "INVALID_RECIPIENT");

        require(_ownerOf[id] == address(0), "ALREADY_MINTED");

        // Counter overflow is incredibly unrealistic.
        unchecked {
            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        emit Transfer(address(0), to, id);
    }

    function _burn(uint256 id) internal virtual {
        address owner = _ownerOf[id];

        require(owner != address(0), "NOT_MINTED");

        // Ownership check above ensures no underflow.
        unchecked {
            _balanceOf[owner]--;
        }

        delete _ownerOf[id];

        delete getApproved[id];

        emit Transfer(owner, address(0), id);
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL SAFE MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    function _safeMint(address to, uint256 id) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _safeMint(
        address to,
        uint256 id,
        bytes memory data
    ) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }
}

/// @notice A generic interface for a contract which properly accepts ERC721 tokens.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721TokenReceiver {
    function onERC721Received(
        address,
        address,
        uint256,
        bytes calldata
    ) external virtual returns (bytes4) {
        return ERC721TokenReceiver.onERC721Received.selector;
    }
}

File 4 of 4: ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

abstract contract Ownable {
    address private _owner;

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

    constructor() {
        _transferOwnership(msg.sender);
    }

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

    modifier onlyOwner() {
        require(owner() == msg.sender, "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 Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_activationTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"activationTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blobPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintBlob","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_activationTimestamp","type":"uint256"}],"name":"setActivationTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setRoyaltyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"setRoyaltyRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBlobs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e06040819052600060c08190526200001b9160099162000156565b506000600a556014608052667c585087238000600c55610bb860a0523480156200004457600080fd5b5060405162002134380380620021348339810160408190526200006791620001fc565b60405180604001604052806004815260200163313637b160e11b81525060405180604001604052806004815260200163212627a160e11b8152508160009080519060200190620000b992919062000156565b508051620000cf90600190602084019062000156565b505050620000e3336200010460201b60201c565b600880546001600160a01b031916331790556102bc600755600b5562000253565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001649062000216565b90600052602060002090601f016020900481019282620001885760008555620001d3565b82601f10620001a357805160ff1916838001178555620001d3565b82800160010185558215620001d3579182015b82811115620001d3578251825591602001919060010190620001b6565b50620001e1929150620001e5565b5090565b5b80821115620001e15760008155600101620001e6565b6000602082840312156200020f57600080fd5b5051919050565b600181811c908216806200022b57607f821691505b602082108114156200024d57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051611ead62000287600039600081816104fe0152610e8b01526000818161056d0152610dbb0152611ead6000f3fe6080604052600436106101b75760003560e01c80636352211e116100ec578063b0e529df1161008a578063cada052411610064578063cada0524146104ec578063e985e9c514610520578063f19605d61461055b578063f2fde38b1461058f57600080fd5b8063b0e529df14610499578063b88d4fde146104ac578063c87b56dd146104cc57600080fd5b80638da5cb5b116100c65780638da5cb5b1461042657806391b7f5ed1461044457806395d89b4114610464578063a22cb4651461047957600080fd5b80636352211e146103d157806370a08231146103f1578063715018a61461041157600080fd5b80633ccfd60b1161015957806341e42f301161013357806341e42f301461035157806342842e0e1461037157806355f804b3146103915780635ffc1de4146103b157600080fd5b80633ccfd60b146103065780633d00448a1461031b5780633e4086e51461033157600080fd5b8063081812fc11610195578063081812fc14610237578063095ea7b31461028557806323b872dd146102a75780632a55205a146102c757600080fd5b806301ffc9a7146101bc5780630423c7de146101f157806306fdde0314610215575b600080fd5b3480156101c857600080fd5b506101dc6101d7366004611a09565b6105af565b60405190151581526020015b60405180910390f35b3480156101fd57600080fd5b50610207600b5481565b6040519081526020016101e8565b34801561022157600080fd5b5061022a6105cf565b6040516101e89190611c46565b34801561024357600080fd5b5061026d610252366004611af4565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b34801561029157600080fd5b506102a56102a03660046119df565b61065d565b005b3480156102b357600080fd5b506102a56102c23660046118cc565b610744565b3480156102d357600080fd5b506102e76102e2366004611b0d565b61090b565b604080516001600160a01b0390931683526020830191909152016101e8565b34801561031257600080fd5b506102a5610941565b34801561032757600080fd5b50610207600c5481565b34801561033d57600080fd5b506102a561034c366004611af4565b61095e565b34801561035d57600080fd5b506102a561036c366004611880565b61099c565b34801561037d57600080fd5b506102a561038c3660046118cc565b6109f7565b34801561039d57600080fd5b506102a56103ac366004611a43565b610adb565b3480156103bd57600080fd5b506102a56103cc366004611af4565b610b2b565b3480156103dd57600080fd5b5061026d6103ec366004611af4565b610b69565b3480156103fd57600080fd5b5061020761040c366004611880565b610bc0565b34801561041d57600080fd5b506102a5610c23565b34801561043257600080fd5b506006546001600160a01b031661026d565b34801561045057600080fd5b506102a561045f366004611af4565b610c66565b34801561047057600080fd5b5061022a610ca4565b34801561048557600080fd5b506102a56104943660046119a3565b610cb1565b6102a56104a7366004611af4565b610d1d565b3480156104b857600080fd5b506102a56104c7366004611908565b6111da565b3480156104d857600080fd5b5061022a6104e7366004611af4565b6112ae565b3480156104f857600080fd5b506102077f000000000000000000000000000000000000000000000000000000000000000081565b34801561052c57600080fd5b506101dc61053b3660046118a2565b600560209081526000928352604080842090915290825290205460ff1681565b34801561056757600080fd5b506102077f000000000000000000000000000000000000000000000000000000000000000081565b34801561059b57600080fd5b506102a56105aa366004611880565b611316565b60006105ba826113c0565b806105c957506105c98261140e565b92915050565b600080546105dc90611d6a565b80601f016020809104026020016040519081016040528092919081815260200182805461060890611d6a565b80156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b6000818152600260205260409020546001600160a01b0316338114806106a657506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6106e85760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b0384811691161461079a5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016106df565b6001600160a01b0382166107e45760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106df565b336001600160a01b038416148061081e57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b8061083f57506000818152600460205260409020546001600160a01b031633145b61087c5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106df565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6008546007546001600160a01b03909116906000906127109061092e9085611d04565b6109389190611cf0565b90509250929050565b61095c6109566006546001600160a01b031690565b47611441565b565b336109716006546001600160a01b031690565b6001600160a01b0316146109975760405162461bcd60e51b81526004016106df90611ca3565b600755565b336109af6006546001600160a01b031690565b6001600160a01b0316146109d55760405162461bcd60e51b81526004016106df90611ca3565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b610a02838383610744565b6001600160a01b0382163b1580610aba5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611a26565b6001600160e01b031916145b610ad65760405162461bcd60e51b81526004016106df90611c79565b505050565b33610aee6006546001600160a01b031690565b6001600160a01b031614610b145760405162461bcd60e51b81526004016106df90611ca3565b8051610b279060099060208401906117d0565b5050565b33610b3e6006546001600160a01b031690565b6001600160a01b031614610b645760405162461bcd60e51b81526004016106df90611ca3565b600b55565b6000818152600260205260409020546001600160a01b031680610bbb5760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016106df565b919050565b60006001600160a01b038216610c075760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016106df565b506001600160a01b031660009081526003602052604090205490565b33610c366006546001600160a01b031690565b6001600160a01b031614610c5c5760405162461bcd60e51b81526004016106df90611ca3565b61095c6000611492565b33610c796006546001600160a01b031690565b6001600160a01b031614610c9f5760405162461bcd60e51b81526004016106df90611ca3565b600c55565b600180546105dc90611d6a565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60008111610db95760405162461bcd60e51b815260206004820152605b60248201527f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60448201527f6f6220424c4f4220626c6f62424c4f4220424c4f42424c4f4220626c6f62424c60648201527f4f42626c6f62626c6f6220626c6f62424c4f42626c6f62626c6f620000000000608482015260a4016106df565b7f0000000000000000000000000000000000000000000000000000000000000000811115610e895760405162461bcd60e51b815260206004820152606b60248201527f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60448201527f6f6220424c4f4220424c4f42626c6f62626c6f62424c4f4220626c6f62424c4f60648201527f42626c6f6220424c4f42626c6f62626c6f62626c6f6220424c4f42424c4f424260848201526a2627a1212627a1313637b160a91b60a482015260c4016106df565b7f000000000000000000000000000000000000000000000000000000000000000081600a54610eb89190611cd8565b1115610f475760405162461bcd60e51b815260206004820152605260248201527f424c4f42626c6f62626c6f62626c6f6220626c6f62626c6f6220424c4f42206260448201527f6c6f62424c4f4220424c4f42424c4f4220424c4f42424c4f42424c4f42626c6f6064820152713110313637b1313637b1212627a1212627a160711b608482015260a4016106df565b42600b541115610fbf5760405162461bcd60e51b815260206004820152603f60248201527f626c6f62626c6f62626c6f62626c6f6220626c6f62424c4f42626c6f6220424c60448201527f4f42424c4f42626c6f62626c6f6220626c6f62626c6f62424c4f42424c4f420060648201526084016106df565b80600c54610fcd9190611d04565b3410156110a85760405162461bcd60e51b815260206004820152609160248201527f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260448201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60648201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62626c6f60848201527f62626c6f6220626c6f6220424c4f42424c4f4220626c6f62424c4f42626c6f6260a48201527010313637b1212627a1212627a1212627a160791b60c482015260e4016106df565b80600c546110b69190611d04565b341461118b5760405162461bcd60e51b815260206004820152608c60248201527f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260448201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60648201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62424c4f60848201527f42626c6f62424c4f4220424c4f42424c4f42626c6f62626c6f6220626c6f626260a48201526b3637b1313637b110313637b160a11b60c482015260e4016106df565b600a5460005b828110156111be576111ac336111a78385611cd8565b6114e4565b806111b681611da5565b915050611191565b5081600a60008282546111d19190611cd8565b90915550505050565b6111e5858585610744565b6001600160a01b0384163b158061128b5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a029061122d9033908a90899089908990600401611bf2565b602060405180830381600087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190611a26565b6001600160e01b031916145b6112a75760405162461bcd60e51b81526004016106df90611c79565b5050505050565b6060600980546112bd90611d6a565b151590506112e457604051806060016040528060358152602001611e436035913992915050565b60096112ef836115bf565b604051602001611300929190611b4b565b6040516020818303038152906040529050919050565b336113296006546001600160a01b031690565b6001600160a01b03161461134f5760405162461bcd60e51b81526004016106df90611ca3565b6001600160a01b0381166113b45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b6113bd81611492565b50565b60006301ffc9a760e01b6001600160e01b0319831614806113f157506380ac58cd60e01b6001600160e01b03198316145b806105c95750506001600160e01b031916635b5e139f60e01b1490565b60006301ffc9a760e01b6001600160e01b0319831614806105c95750506001600160e01b03191663152a902d60e11b1490565b600080600080600085875af1905080610ad65760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b60448201526064016106df565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6114ee82826116c5565b6001600160a01b0382163b15806115a35750604051630a85bd0160e11b80825233600483015260006024830181905260448301849052608060648401526084830152906001600160a01b0384169063150b7a029060a401602060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115979190611a26565b6001600160e01b031916145b610b275760405162461bcd60e51b81526004016106df90611c79565b6060816115e35750506040805180820190915260018152600360fc1b602082015290565b8160005b811561160d57806115f781611da5565b91506116069050600a83611cf0565b91506115e7565b60008167ffffffffffffffff81111561162857611628611e16565b6040519080825280601f01601f191660200182016040528015611652576020820181803683370190505b5090505b84156116bd57611667600183611d23565b9150611674600a86611dc0565b61167f906030611cd8565b60f81b81838151811061169457611694611e00565b60200101906001600160f81b031916908160001a9053506116b6600a86611cf0565b9450611656565b949350505050565b6001600160a01b03821661170f5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106df565b6000818152600260205260409020546001600160a01b0316156117655760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016106df565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546117dc90611d6a565b90600052602060002090601f0160209004810192826117fe5760008555611844565b82601f1061181757805160ff1916838001178555611844565b82800160010185558215611844579182015b82811115611844578251825591602001919060010190611829565b50611850929150611854565b5090565b5b808211156118505760008155600101611855565b80356001600160a01b0381168114610bbb57600080fd5b60006020828403121561189257600080fd5b61189b82611869565b9392505050565b600080604083850312156118b557600080fd5b6118be83611869565b915061093860208401611869565b6000806000606084860312156118e157600080fd5b6118ea84611869565b92506118f860208501611869565b9150604084013590509250925092565b60008060008060006080868803121561192057600080fd5b61192986611869565b945061193760208701611869565b935060408601359250606086013567ffffffffffffffff8082111561195b57600080fd5b818801915088601f83011261196f57600080fd5b81358181111561197e57600080fd5b89602082850101111561199057600080fd5b9699959850939650602001949392505050565b600080604083850312156119b657600080fd5b6119bf83611869565b9150602083013580151581146119d457600080fd5b809150509250929050565b600080604083850312156119f257600080fd5b6119fb83611869565b946020939093013593505050565b600060208284031215611a1b57600080fd5b813561189b81611e2c565b600060208284031215611a3857600080fd5b815161189b81611e2c565b600060208284031215611a5557600080fd5b813567ffffffffffffffff80821115611a6d57600080fd5b818401915084601f830112611a8157600080fd5b813581811115611a9357611a93611e16565b604051601f8201601f19908116603f01168101908382118183101715611abb57611abb611e16565b81604052828152876020848701011115611ad457600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215611b0657600080fd5b5035919050565b60008060408385031215611b2057600080fd5b50508035926020909101359150565b60008151611b41818560208601611d3a565b9290920192915050565b600080845481600182811c915080831680611b6757607f831692505b6020808410821415611b8757634e487b7160e01b86526022600452602486fd5b818015611b9b5760018114611bac57611bd9565b60ff19861689528489019650611bd9565b60008b81526020902060005b86811015611bd15781548b820152908501908301611bb8565b505084890196505b505050505050611be98185611b2f565b95945050505050565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b6020815260008251806020840152611c65816040850160208701611d3a565b601f01601f19169190910160400192915050565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611ceb57611ceb611dd4565b500190565b600082611cff57611cff611dea565b500490565b6000816000190483118215151615611d1e57611d1e611dd4565b500290565b600082821015611d3557611d35611dd4565b500390565b60005b83811015611d55578181015183820152602001611d3d565b83811115611d64576000848401525b50505050565b600181811c90821680611d7e57607f821691505b60208210811415611d9f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611db957611db9611dd4565b5060010190565b600082611dcf57611dcf611dea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146113bd57600080fdfe697066733a2f2f516d55793834506554446f545753704c7674587069696f634139414a4c3244654364326347666a3655697a59334ca264697066735822122005399e9ed1a6f2c06e6829862f7df514bc785f4281c3b5be2e5ebe3ae09e0a1664736f6c6343000807003300000000000000000000000000000000000000000000000000000000626aba00

Deployed Bytecode

0x6080604052600436106101b75760003560e01c80636352211e116100ec578063b0e529df1161008a578063cada052411610064578063cada0524146104ec578063e985e9c514610520578063f19605d61461055b578063f2fde38b1461058f57600080fd5b8063b0e529df14610499578063b88d4fde146104ac578063c87b56dd146104cc57600080fd5b80638da5cb5b116100c65780638da5cb5b1461042657806391b7f5ed1461044457806395d89b4114610464578063a22cb4651461047957600080fd5b80636352211e146103d157806370a08231146103f1578063715018a61461041157600080fd5b80633ccfd60b1161015957806341e42f301161013357806341e42f301461035157806342842e0e1461037157806355f804b3146103915780635ffc1de4146103b157600080fd5b80633ccfd60b146103065780633d00448a1461031b5780633e4086e51461033157600080fd5b8063081812fc11610195578063081812fc14610237578063095ea7b31461028557806323b872dd146102a75780632a55205a146102c757600080fd5b806301ffc9a7146101bc5780630423c7de146101f157806306fdde0314610215575b600080fd5b3480156101c857600080fd5b506101dc6101d7366004611a09565b6105af565b60405190151581526020015b60405180910390f35b3480156101fd57600080fd5b50610207600b5481565b6040519081526020016101e8565b34801561022157600080fd5b5061022a6105cf565b6040516101e89190611c46565b34801561024357600080fd5b5061026d610252366004611af4565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b34801561029157600080fd5b506102a56102a03660046119df565b61065d565b005b3480156102b357600080fd5b506102a56102c23660046118cc565b610744565b3480156102d357600080fd5b506102e76102e2366004611b0d565b61090b565b604080516001600160a01b0390931683526020830191909152016101e8565b34801561031257600080fd5b506102a5610941565b34801561032757600080fd5b50610207600c5481565b34801561033d57600080fd5b506102a561034c366004611af4565b61095e565b34801561035d57600080fd5b506102a561036c366004611880565b61099c565b34801561037d57600080fd5b506102a561038c3660046118cc565b6109f7565b34801561039d57600080fd5b506102a56103ac366004611a43565b610adb565b3480156103bd57600080fd5b506102a56103cc366004611af4565b610b2b565b3480156103dd57600080fd5b5061026d6103ec366004611af4565b610b69565b3480156103fd57600080fd5b5061020761040c366004611880565b610bc0565b34801561041d57600080fd5b506102a5610c23565b34801561043257600080fd5b506006546001600160a01b031661026d565b34801561045057600080fd5b506102a561045f366004611af4565b610c66565b34801561047057600080fd5b5061022a610ca4565b34801561048557600080fd5b506102a56104943660046119a3565b610cb1565b6102a56104a7366004611af4565b610d1d565b3480156104b857600080fd5b506102a56104c7366004611908565b6111da565b3480156104d857600080fd5b5061022a6104e7366004611af4565b6112ae565b3480156104f857600080fd5b506102077f0000000000000000000000000000000000000000000000000000000000000bb881565b34801561052c57600080fd5b506101dc61053b3660046118a2565b600560209081526000928352604080842090915290825290205460ff1681565b34801561056757600080fd5b506102077f000000000000000000000000000000000000000000000000000000000000001481565b34801561059b57600080fd5b506102a56105aa366004611880565b611316565b60006105ba826113c0565b806105c957506105c98261140e565b92915050565b600080546105dc90611d6a565b80601f016020809104026020016040519081016040528092919081815260200182805461060890611d6a565b80156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b6000818152600260205260409020546001600160a01b0316338114806106a657506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6106e85760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600260205260409020546001600160a01b0384811691161461079a5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b60448201526064016106df565b6001600160a01b0382166107e45760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106df565b336001600160a01b038416148061081e57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b8061083f57506000818152600460205260409020546001600160a01b031633145b61087c5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064016106df565b6001600160a01b0380841660008181526003602090815260408083208054600019019055938616808352848320805460010190558583526002825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6008546007546001600160a01b03909116906000906127109061092e9085611d04565b6109389190611cf0565b90509250929050565b61095c6109566006546001600160a01b031690565b47611441565b565b336109716006546001600160a01b031690565b6001600160a01b0316146109975760405162461bcd60e51b81526004016106df90611ca3565b600755565b336109af6006546001600160a01b031690565b6001600160a01b0316146109d55760405162461bcd60e51b81526004016106df90611ca3565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b610a02838383610744565b6001600160a01b0382163b1580610aba5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b158015610a7657600080fd5b505af1158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611a26565b6001600160e01b031916145b610ad65760405162461bcd60e51b81526004016106df90611c79565b505050565b33610aee6006546001600160a01b031690565b6001600160a01b031614610b145760405162461bcd60e51b81526004016106df90611ca3565b8051610b279060099060208401906117d0565b5050565b33610b3e6006546001600160a01b031690565b6001600160a01b031614610b645760405162461bcd60e51b81526004016106df90611ca3565b600b55565b6000818152600260205260409020546001600160a01b031680610bbb5760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b60448201526064016106df565b919050565b60006001600160a01b038216610c075760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016106df565b506001600160a01b031660009081526003602052604090205490565b33610c366006546001600160a01b031690565b6001600160a01b031614610c5c5760405162461bcd60e51b81526004016106df90611ca3565b61095c6000611492565b33610c796006546001600160a01b031690565b6001600160a01b031614610c9f5760405162461bcd60e51b81526004016106df90611ca3565b600c55565b600180546105dc90611d6a565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60008111610db95760405162461bcd60e51b815260206004820152605b60248201527f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60448201527f6f6220424c4f4220626c6f62424c4f4220424c4f42424c4f4220626c6f62424c60648201527f4f42626c6f62626c6f6220626c6f62424c4f42626c6f62626c6f620000000000608482015260a4016106df565b7f0000000000000000000000000000000000000000000000000000000000000014811115610e895760405162461bcd60e51b815260206004820152606b60248201527f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60448201527f6f6220424c4f4220424c4f42626c6f62626c6f62424c4f4220626c6f62424c4f60648201527f42626c6f6220424c4f42626c6f62626c6f62626c6f6220424c4f42424c4f424260848201526a2627a1212627a1313637b160a91b60a482015260c4016106df565b7f0000000000000000000000000000000000000000000000000000000000000bb881600a54610eb89190611cd8565b1115610f475760405162461bcd60e51b815260206004820152605260248201527f424c4f42626c6f62626c6f62626c6f6220626c6f62626c6f6220424c4f42206260448201527f6c6f62424c4f4220424c4f42424c4f4220424c4f42424c4f42424c4f42626c6f6064820152713110313637b1313637b1212627a1212627a160711b608482015260a4016106df565b42600b541115610fbf5760405162461bcd60e51b815260206004820152603f60248201527f626c6f62626c6f62626c6f62626c6f6220626c6f62424c4f42626c6f6220424c60448201527f4f42424c4f42626c6f62626c6f6220626c6f62626c6f62424c4f42424c4f420060648201526084016106df565b80600c54610fcd9190611d04565b3410156110a85760405162461bcd60e51b815260206004820152609160248201527f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260448201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60648201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62626c6f60848201527f62626c6f6220626c6f6220424c4f42424c4f4220626c6f62424c4f42626c6f6260a48201527010313637b1212627a1212627a1212627a160791b60c482015260e4016106df565b80600c546110b69190611d04565b341461118b5760405162461bcd60e51b815260206004820152608c60248201527f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260448201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60648201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62424c4f60848201527f42626c6f62424c4f4220424c4f42424c4f42626c6f62626c6f6220626c6f626260a48201526b3637b1313637b110313637b160a11b60c482015260e4016106df565b600a5460005b828110156111be576111ac336111a78385611cd8565b6114e4565b806111b681611da5565b915050611191565b5081600a60008282546111d19190611cd8565b90915550505050565b6111e5858585610744565b6001600160a01b0384163b158061128b5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a029061122d9033908a90899089908990600401611bf2565b602060405180830381600087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190611a26565b6001600160e01b031916145b6112a75760405162461bcd60e51b81526004016106df90611c79565b5050505050565b6060600980546112bd90611d6a565b151590506112e457604051806060016040528060358152602001611e436035913992915050565b60096112ef836115bf565b604051602001611300929190611b4b565b6040516020818303038152906040529050919050565b336113296006546001600160a01b031690565b6001600160a01b03161461134f5760405162461bcd60e51b81526004016106df90611ca3565b6001600160a01b0381166113b45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b6113bd81611492565b50565b60006301ffc9a760e01b6001600160e01b0319831614806113f157506380ac58cd60e01b6001600160e01b03198316145b806105c95750506001600160e01b031916635b5e139f60e01b1490565b60006301ffc9a760e01b6001600160e01b0319831614806105c95750506001600160e01b03191663152a902d60e11b1490565b600080600080600085875af1905080610ad65760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b60448201526064016106df565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6114ee82826116c5565b6001600160a01b0382163b15806115a35750604051630a85bd0160e11b80825233600483015260006024830181905260448301849052608060648401526084830152906001600160a01b0384169063150b7a029060a401602060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115979190611a26565b6001600160e01b031916145b610b275760405162461bcd60e51b81526004016106df90611c79565b6060816115e35750506040805180820190915260018152600360fc1b602082015290565b8160005b811561160d57806115f781611da5565b91506116069050600a83611cf0565b91506115e7565b60008167ffffffffffffffff81111561162857611628611e16565b6040519080825280601f01601f191660200182016040528015611652576020820181803683370190505b5090505b84156116bd57611667600183611d23565b9150611674600a86611dc0565b61167f906030611cd8565b60f81b81838151811061169457611694611e00565b60200101906001600160f81b031916908160001a9053506116b6600a86611cf0565b9450611656565b949350505050565b6001600160a01b03821661170f5760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b60448201526064016106df565b6000818152600260205260409020546001600160a01b0316156117655760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b60448201526064016106df565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546117dc90611d6a565b90600052602060002090601f0160209004810192826117fe5760008555611844565b82601f1061181757805160ff1916838001178555611844565b82800160010185558215611844579182015b82811115611844578251825591602001919060010190611829565b50611850929150611854565b5090565b5b808211156118505760008155600101611855565b80356001600160a01b0381168114610bbb57600080fd5b60006020828403121561189257600080fd5b61189b82611869565b9392505050565b600080604083850312156118b557600080fd5b6118be83611869565b915061093860208401611869565b6000806000606084860312156118e157600080fd5b6118ea84611869565b92506118f860208501611869565b9150604084013590509250925092565b60008060008060006080868803121561192057600080fd5b61192986611869565b945061193760208701611869565b935060408601359250606086013567ffffffffffffffff8082111561195b57600080fd5b818801915088601f83011261196f57600080fd5b81358181111561197e57600080fd5b89602082850101111561199057600080fd5b9699959850939650602001949392505050565b600080604083850312156119b657600080fd5b6119bf83611869565b9150602083013580151581146119d457600080fd5b809150509250929050565b600080604083850312156119f257600080fd5b6119fb83611869565b946020939093013593505050565b600060208284031215611a1b57600080fd5b813561189b81611e2c565b600060208284031215611a3857600080fd5b815161189b81611e2c565b600060208284031215611a5557600080fd5b813567ffffffffffffffff80821115611a6d57600080fd5b818401915084601f830112611a8157600080fd5b813581811115611a9357611a93611e16565b604051601f8201601f19908116603f01168101908382118183101715611abb57611abb611e16565b81604052828152876020848701011115611ad457600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215611b0657600080fd5b5035919050565b60008060408385031215611b2057600080fd5b50508035926020909101359150565b60008151611b41818560208601611d3a565b9290920192915050565b600080845481600182811c915080831680611b6757607f831692505b6020808410821415611b8757634e487b7160e01b86526022600452602486fd5b818015611b9b5760018114611bac57611bd9565b60ff19861689528489019650611bd9565b60008b81526020902060005b86811015611bd15781548b820152908501908301611bb8565b505084890196505b505050505050611be98185611b2f565b95945050505050565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b6020815260008251806020840152611c65816040850160208701611d3a565b601f01601f19169190910160400192915050565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611ceb57611ceb611dd4565b500190565b600082611cff57611cff611dea565b500490565b6000816000190483118215151615611d1e57611d1e611dd4565b500290565b600082821015611d3557611d35611dd4565b500390565b60005b83811015611d55578181015183820152602001611d3d565b83811115611d64576000848401525b50505050565b600181811c90821680611d7e57607f821691505b60208210811415611d9f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611db957611db9611dd4565b5060010190565b600082611dcf57611dcf611dea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146113bd57600080fdfe697066733a2f2f516d55793834506554446f545753704c7674587069696f634139414a4c3244654364326347666a3655697a59334ca264697066735822122005399e9ed1a6f2c06e6829862f7df514bc785f4281c3b5be2e5ebe3ae09e0a1664736f6c63430008070033

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

00000000000000000000000000000000000000000000000000000000626aba00

-----Decoded View---------------
Arg [0] : _activationTimestamp (uint256): 1651161600

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000626aba00


Deployed Bytecode Sourcemap

1337:3017:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4112:239;;;;;;;;;;-1:-1:-1;4112:239:0;;;;;:::i;:::-;;:::i;:::-;;;7522:14:4;;7515:22;7497:41;;7485:2;7470:18;4112:239:0;;;;;;;;1439:34;;;;;;;;;;;;;;;;;;;14840:25:4;;;14828:2;14813:18;1439:34:0;14694:177:4;896:18:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1841:46::-;;;;;;;;;;-1:-1:-1;1841:46:2;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1841:46:2;;;;;;-1:-1:-1;;;;;5807:32:4;;;5789:51;;5777:2;5762:18;1841:46:2;5643:203:4;2450:282:2;;;;;;;;;;-1:-1:-1;2450:282:2;;;;;:::i;:::-;;:::i;:::-;;2947:741;;;;;;;;;;-1:-1:-1;2947:741:2;;;;;:::i;:::-;;:::i;176:253:1:-;;;;;;;;;;-1:-1:-1;176:253:1;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;7270:32:4;;;7252:51;;7334:2;7319:18;;7312:34;;;;7225:18;176:253:1;7078:274:4;3621:107:0;;;;;;;;;;;;;:::i;1594:38::-;;;;;;;;;;;;;;;;2243:87;;;;;;;;;;-1:-1:-1;2243:87:0;;;;;:::i;:::-;;:::i;2126:111::-;;;;;;;;;;-1:-1:-1;2126:111:0;;;;;:::i;:::-;;:::i;3694:396:2:-;;;;;;;;;;-1:-1:-1;3694:396:2;;;;;:::i;:::-;;:::i;2336:102:0:-;;;;;;;;;;-1:-1:-1;2336:102:0;;;;;:::i;:::-;;:::i;1981:138::-;;;;;;;;;;-1:-1:-1;1981:138:0;;;;;:::i;:::-;;:::i;1324:149:2:-;;;;;;;;;;-1:-1:-1;1324:149:2;;;;;:::i;:::-;;:::i;1479:168::-;;;;;;;;;;-1:-1:-1;1479:168:2;;;;;:::i;:::-;;:::i;542:101:3:-;;;;;;;;;;;;;:::i;330:85::-;;;;;;;;;;-1:-1:-1;402:6:3;;-1:-1:-1;;;;;402:6:3;330:85;;1885:90:0;;;;;;;;;;-1:-1:-1;1885:90:0;;;;;:::i;:::-;;:::i;921:20:2:-;;;;;;;;;;;;;:::i;2738:203::-;;;;;;;;;;-1:-1:-1;2738:203:2;;;;;:::i;:::-;;:::i;2444:1171:0:-;;;;;;:::i;:::-;;:::i;4096:427:2:-;;;;;;;;;;-1:-1:-1;4096:427:2;;;;;:::i;:::-;;:::i;3837:269:0:-;;;;;;;;;;-1:-1:-1;3837:269:0;;;;;:::i;:::-;;:::i;1639:42::-;;;;;;;;;;;;;;;1894:68:2;;;;;;;;;;-1:-1:-1;1894:68:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1541:46:0;;;;;;;;;;;;;;;649:198:3;;;;;;;;;;-1:-1:-1;649:198:3;;;;;:::i;:::-;;:::i;4112:239:0:-;4238:4;4265:37;4290:11;4265:24;:37::i;:::-;:79;;;;4306:38;4332:11;4306:25;:38::i;:::-;4258:86;4112:239;-1:-1:-1;;4112:239:0:o;896:18:2:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2450:282::-;2521:13;2537:12;;;:8;:12;;;;;;-1:-1:-1;;;;;2537:12:2;2568:10;:19;;;:58;;-1:-1:-1;;;;;;2591:23:2;;;;;;:16;:23;;;;;;;;2615:10;2591:35;;;;;;;;;;2568:58;2560:85;;;;-1:-1:-1;;;2560:85:2;;13875:2:4;2560:85:2;;;13857:21:4;13914:2;13894:18;;;13887:30;-1:-1:-1;;;13933:18:4;;;13926:44;13987:18;;2560:85:2;;;;;;;;;2656:15;;;;:11;:15;;;;;;:25;;-1:-1:-1;;;;;;2656:25:2;-1:-1:-1;;;;;2656:25:2;;;;;;;;;2697:28;;2656:15;;2697:28;;;;;;;2511:221;2450:282;;:::o;2947:741::-;3078:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;3070:20:2;;;3078:12;;3070:20;3062:43;;;;-1:-1:-1;;;3062:43:2;;14557:2:4;3062:43:2;;;14539:21:4;14596:2;14576:18;;;14569:30;-1:-1:-1;;;14615:18:4;;;14608:40;14665:18;;3062:43:2;14355:334:4;3062:43:2;-1:-1:-1;;;;;3124:16:2;;3116:46;;;;-1:-1:-1;;;3116:46:2;;10604:2:4;3116:46:2;;;10586:21:4;10643:2;10623:18;;;10616:30;-1:-1:-1;;;10662:18:4;;;10655:47;10719:18;;3116:46:2;10402:341:4;3116:46:2;3194:10;-1:-1:-1;;;;;3194:18:2;;;;:56;;-1:-1:-1;;;;;;3216:22:2;;;;;;:16;:22;;;;;;;;3239:10;3216:34;;;;;;;;;;3194:56;:89;;;-1:-1:-1;3268:15:2;;;;:11;:15;;;;;;-1:-1:-1;;;;;3268:15:2;3254:10;:29;3194:89;3173:150;;;;-1:-1:-1;;;3173:150:2;;13875:2:4;3173:150:2;;;13857:21:4;13914:2;13894:18;;;13887:30;-1:-1:-1;;;13933:18:4;;;13926:44;13987:18;;3173:150:2;13673:338:4;3173:150:2;-1:-1:-1;;;;;3523:16:2;;;;;;;:10;:16;;;;;;;;:18;;-1:-1:-1;;3523:18:2;;;3556:14;;;;;;;;;:16;;3523:18;3556:16;;;3593:12;;;:8;:12;;;;;:17;;-1:-1:-1;;;;;;3593:17:2;;;;;;;;3628:11;:15;;;;;;3621:22;;;;;;;;3659;;3602:2;;3556:14;3523:16;3659:22;;;2947:741;;;:::o;176:253:1:-;346:17;;402:11;;-1:-1:-1;;;;;346:17:1;;;;271:16;;417:5;;390:23;;:9;:23;:::i;:::-;389:33;;;;:::i;:::-;373:49;;176:253;;;;;:::o;3621:107:0:-;3658:63;3690:7;402:6:3;;-1:-1:-1;;;;;402:6:3;;330:85;3690:7:0;3699:21;3658:31;:63::i;:::-;3621:107::o;2243:87::-;471:10:3;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;2306:11:0::1;:17:::0;2243:87::o;2126:111::-;471:10:3;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;2201:17:0::1;:29:::0;;-1:-1:-1;;;;;;2201:29:0::1;-1:-1:-1::0;;;;;2201:29:0;;;::::1;::::0;;;::::1;::::0;;2126:111::o;3694:396:2:-;3813:26;3826:4;3832:2;3836;3813:12;:26::i;:::-;-1:-1:-1;;;;;3871:14:2;;;:19;;:170;;-1:-1:-1;3910:66:2;;-1:-1:-1;;;3910:66:2;;;3951:10;3910:66;;;6823:34:4;-1:-1:-1;;;;;6893:15:4;;;6873:18;;;6866:43;6925:18;;;6918:34;;;6988:3;6968:18;;;6961:31;-1:-1:-1;7008:19:4;;;7001:30;3996:45:2;;3910:40;;;;3996:45;;7048:19:4;;3910:66:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3910:131:2;;3871:170;3850:233;;;;-1:-1:-1;;;3850:233:2;;;;;;;:::i;:::-;3694:396;;;:::o;2336:102:0:-;471:10:3;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;2410:21:0;;::::1;::::0;:7:::1;::::0;:21:::1;::::0;::::1;::::0;::::1;:::i;:::-;;2336:102:::0;:::o;1981:138::-;471:10:3;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;2070:19:0::1;:42:::0;1981:138::o;1324:149:2:-;1382:13;1424:12;;;:8;:12;;;;;;-1:-1:-1;;;;;1424:12:2;1415:36;1407:59;;;;-1:-1:-1;;;1407:59:2;;14218:2:4;1407:59:2;;;14200:21:4;14257:2;14237:18;;;14230:30;-1:-1:-1;;;14276:18:4;;;14269:40;14326:18;;1407:59:2;14016:334:4;1407:59:2;1324:149;;;:::o;1479:168::-;1542:7;-1:-1:-1;;;;;1569:19:2;;1561:44;;;;-1:-1:-1;;;1561:44:2;;10950:2:4;1561:44:2;;;10932:21:4;10989:2;10969:18;;;10962:30;-1:-1:-1;;;11008:18:4;;;11001:42;11060:18;;1561:44:2;10748:336:4;1561:44:2;-1:-1:-1;;;;;;1623:17:2;;;;;:10;:17;;;;;;;1479:168::o;542:101:3:-;471:10;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;606:30:::1;633:1;606:18;:30::i;1885:90:0:-:0;471:10:3;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;1948:9:0::1;:20:::0;1885:90::o;921:20:2:-;;;;;;;:::i;2738:203::-;2840:10;2823:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;2823:38:2;;;;;;;;;;;;:49;;-1:-1:-1;;2823:49:2;;;;;;;;;;2888:46;;7497:41:4;;;2823:38:2;;2840:10;2888:46;;7470:18:4;2888:46:2;;;;;;;2738:203;;:::o;2444:1171:0:-;2520:1;2511:6;:10;2503:114;;;;-1:-1:-1;;;2503:114:0;;9469:2:4;2503:114:0;;;9451:21:4;9508:2;9488:18;;;9481:30;9547:34;9527:18;;;9520:62;9618:34;9598:18;;;9591:62;9690:29;9669:19;;;9662:58;9737:19;;2503:114:0;9267:495:4;2503:114:0;2645:16;2635:6;:26;;2627:146;;;;-1:-1:-1;;;2627:146:0;;12627:2:4;2627:146:0;;;12609:21:4;12666:3;12646:18;;;12639:31;12706:34;12686:18;;;12679:62;12777:34;12757:18;;;12750:62;12849:34;12828:19;;;12821:63;-1:-1:-1;;;12900:19:4;;;12893:42;12952:19;;2627:146:0;12425:552:4;2627:146:0;2815:10;2805:6;2791:11;;:20;;;;:::i;:::-;:34;;2783:129;;;;-1:-1:-1;;;2783:129:0;;8978:2:4;2783:129:0;;;8960:21:4;9017:2;8997:18;;;8990:30;9056:34;9036:18;;;9029:62;9127:34;9107:18;;;9100:62;-1:-1:-1;;;9178:19:4;;;9171:49;9237:19;;2783:129:0;8776:486:4;2783:129:0;2953:15;2930:19;;:38;;2922:114;;;;-1:-1:-1;;;2922:114:0;;8139:2:4;2922:114:0;;;8121:21:4;8178:2;8158:18;;;8151:30;8217:34;8197:18;;;8190:62;8288:33;8268:18;;;8261:61;8339:19;;2922:114:0;7937:427:4;2922:114:0;3079:6;3067:9;;:18;;;;:::i;:::-;3054:9;:31;;3046:189;;;;-1:-1:-1;;;3046:189:0;;9969:2:4;3046:189:0;;;9951:21:4;10008:3;9988:18;;;9981:31;10048:34;10028:18;;;10021:62;10119:34;10099:18;;;10092:62;10191:34;10170:19;;;10163:63;10263:34;10242:19;;;10235:63;-1:-1:-1;;;10314:19:4;;;10307:48;10372:19;;3046:189:0;9767:630:4;3046:189:0;3278:6;3266:9;;:18;;;;:::i;:::-;3253:9;:31;3245:184;;;;-1:-1:-1;;;3245:184:0;;11291:2:4;3245:184:0;;;11273:21:4;11330:3;11310:18;;;11303:31;11370:34;11350:18;;;11343:62;11441:34;11421:18;;;11414:62;11513:34;11492:19;;;11485:63;11585:34;11564:19;;;11557:63;-1:-1:-1;;;11636:19:4;;;11629:43;11689:19;;3245:184:0;11089:625:4;3245:184:0;3463:11;;3439:21;3484:94;3500:6;3496:1;:10;3484:94;;;3527:40;3537:10;3549:17;3565:1;3549:13;:17;:::i;:::-;3527:9;:40::i;:::-;3508:3;;;;:::i;:::-;;;;3484:94;;;;3602:6;3587:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;2444:1171:0:o;4096:427:2:-;4244:26;4257:4;4263:2;4267;4244:12;:26::i;:::-;-1:-1:-1;;;;;4302:14:2;;;:19;;:172;;-1:-1:-1;4341:68:2;;-1:-1:-1;;;4341:68:2;;;4429:45;-1:-1:-1;;;;;4341:40:2;;;4429:45;;4341:68;;4382:10;;4394:4;;4400:2;;4404:4;;;;4341:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4341:133:2;;4302:172;4281:235;;;;-1:-1:-1;;;4281:235:2;;;;;;;:::i;:::-;4096:427;;;;;:::o;3837:269:0:-;3902:13;3937:7;3931:21;;;;;:::i;:::-;:26;3927:94;;-1:-1:-1;3927:94:0;;3959:62;;;;;;;;;;;;;;;;;;3837:269;-1:-1:-1;;3837:269:0:o;3927:94::-;4062:7;4071:25;4088:7;4071:16;:25::i;:::-;4045:52;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4031:67;;3837:269;;;:::o;649:198:3:-;471:10;460:7;402:6;;-1:-1:-1;;;;;402:6:3;;330:85;460:7;-1:-1:-1;;;;;460:21:3;;452:66;;;;-1:-1:-1;;;452:66:3;;;;;;;:::i;:::-;-1:-1:-1;;;;;737:22:3;::::1;729:73;;;::::0;-1:-1:-1;;;729:73:3;;8571:2:4;729:73:3::1;::::0;::::1;8553:21:4::0;8610:2;8590:18;;;8583:30;8649:34;8629:18;;;8622:62;-1:-1:-1;;;8700:18:4;;;8693:36;8746:19;;729:73:3::1;8369:402:4::0;729:73:3::1;812:28;831:8;812:18;:28::i;:::-;649:198:::0;:::o;4711:335:2:-;4787:4;-1:-1:-1;;;;;;;;;4822:25:2;;;;:100;;-1:-1:-1;;;;;;;;;;4897:25:2;;;4822:100;:175;;;-1:-1:-1;;;;;;;;4972:25:2;-1:-1:-1;;;4972:25:2;;4711:335::o;435:253:1:-;511:4;-1:-1:-1;;;;;;;;;546:25:1;;;;:100;;-1:-1:-1;;;;;;;;621:25:1;-1:-1:-1;;;621:25:1;;435:253::o;1028:305:0:-;1100:15;1262:1;1259;1256;1253;1245:6;1241:2;1234:5;1229:35;1215:49;;1292:10;1284:42;;;;-1:-1:-1;;;1284:42:0;;13184:2:4;1284:42:0;;;13166:21:4;13223:2;13203:18;;;13196:30;-1:-1:-1;;;13242:18:4;;;13235:49;13301:18;;1284:42:0;12982:343:4;853:187:3;945:6;;;-1:-1:-1;;;;;961:17:3;;;-1:-1:-1;;;;;;961:17:3;;;;;;;993:40;;945:6;;;961:17;945:6;;993:40;;926:16;;993:40;916:124;853:187;:::o;6182:340:2:-;6252:13;6258:2;6262;6252:5;:13::i;:::-;-1:-1:-1;;;;;6297:14:2;;;:19;;:176;;-1:-1:-1;6336:72:2;;-1:-1:-1;;;6336:72:2;;;6377:10;6336:72;;;6823:34:4;6397:1:2;6873:18:4;;;6866:43;;;6925:18;;;6918:34;;;6988:3;6968:18;;;6961:31;7008:19;;;7001:30;6428:45:2;-1:-1:-1;;;;;6336:40:2;;;6428:45;;7048:19:4;;6336:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6336:137:2;;6297:176;6276:239;;;;-1:-1:-1;;;6276:239:2;;;;;;;:::i;291:703:0:-;347:13;564:10;560:51;;-1:-1:-1;;590:10:0;;;;;;;;;;;;-1:-1:-1;;;590:10:0;;;;;291:703::o;560:51::-;635:5;620:12;674:75;681:9;;674:75;;706:8;;;;:::i;:::-;;-1:-1:-1;728:10:0;;-1:-1:-1;736:2:0;728:10;;:::i;:::-;;;674:75;;;758:19;790:6;780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;780:17:0;;758:39;;807:150;814:10;;807:150;;840:11;850:1;840:11;;:::i;:::-;;-1:-1:-1;908:10:0;916:2;908:5;:10;:::i;:::-;895:24;;:2;:24;:::i;:::-;882:39;;865:6;872;865:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;865:56:0;;;;;;;;-1:-1:-1;935:11:0;944:2;935:11;;:::i;:::-;;;807:150;;;980:6;291:703;-1:-1:-1;;;;291:703:0:o;5240:371:2:-;-1:-1:-1;;;;;5314:16:2;;5306:46;;;;-1:-1:-1;;;5306:46:2;;10604:2:4;5306:46:2;;;10586:21:4;10643:2;10623:18;;;10616:30;-1:-1:-1;;;10662:18:4;;;10655:47;10719:18;;5306:46:2;10402:341:4;5306:46:2;5395:1;5371:12;;;:8;:12;;;;;;-1:-1:-1;;;;;5371:12:2;:26;5363:53;;;;-1:-1:-1;;;5363:53:2;;13532:2:4;5363:53:2;;;13514:21:4;13571:2;13551:18;;;13544:30;-1:-1:-1;;;13590:18:4;;;13583:44;13644:18;;5363:53:2;13330:338:4;5363:53:2;-1:-1:-1;;;;;5506:14:2;;;;;;:10;:14;;;;;;;;:16;;;;;;5543:12;;;:8;:12;;;;;;:17;;-1:-1:-1;;;;;;5543:17:2;;;;;5576:28;5552:2;;5506:14;;5576:28;;5506:14;;5576:28;5240:371;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:4;82:20;;-1:-1:-1;;;;;131:31:4;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:4:o;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:808::-;1078:6;1086;1094;1102;1110;1163:3;1151:9;1142:7;1138:23;1134:33;1131:53;;;1180:1;1177;1170:12;1131:53;1203:29;1222:9;1203:29;:::i;:::-;1193:39;;1251:38;1285:2;1274:9;1270:18;1251:38;:::i;:::-;1241:48;;1336:2;1325:9;1321:18;1308:32;1298:42;;1391:2;1380:9;1376:18;1363:32;1414:18;1455:2;1447:6;1444:14;1441:34;;;1471:1;1468;1461:12;1441:34;1509:6;1498:9;1494:22;1484:32;;1554:7;1547:4;1543:2;1539:13;1535:27;1525:55;;1576:1;1573;1566:12;1525:55;1616:2;1603:16;1642:2;1634:6;1631:14;1628:34;;;1658:1;1655;1648:12;1628:34;1703:7;1698:2;1689:6;1685:2;1681:15;1677:24;1674:37;1671:57;;;1724:1;1721;1714:12;1671:57;981:808;;;;-1:-1:-1;981:808:4;;-1:-1:-1;1755:2:4;1747:11;;1777:6;981:808;-1:-1:-1;;;981:808:4:o;1794:347::-;1859:6;1867;1920:2;1908:9;1899:7;1895:23;1891:32;1888:52;;;1936:1;1933;1926:12;1888:52;1959:29;1978:9;1959:29;:::i;:::-;1949:39;;2038:2;2027:9;2023:18;2010:32;2085:5;2078:13;2071:21;2064:5;2061:32;2051:60;;2107:1;2104;2097:12;2051:60;2130:5;2120:15;;;1794:347;;;;;:::o;2146:254::-;2214:6;2222;2275:2;2263:9;2254:7;2250:23;2246:32;2243:52;;;2291:1;2288;2281:12;2243:52;2314:29;2333:9;2314:29;:::i;:::-;2304:39;2390:2;2375:18;;;;2362:32;;-1:-1:-1;;;2146:254:4:o;2405:245::-;2463:6;2516:2;2504:9;2495:7;2491:23;2487:32;2484:52;;;2532:1;2529;2522:12;2484:52;2571:9;2558:23;2590:30;2614:5;2590:30;:::i;2655:249::-;2724:6;2777:2;2765:9;2756:7;2752:23;2748:32;2745:52;;;2793:1;2790;2783:12;2745:52;2825:9;2819:16;2844:30;2868:5;2844:30;:::i;2909:922::-;2978:6;3031:2;3019:9;3010:7;3006:23;3002:32;2999:52;;;3047:1;3044;3037:12;2999:52;3087:9;3074:23;3116:18;3157:2;3149:6;3146:14;3143:34;;;3173:1;3170;3163:12;3143:34;3211:6;3200:9;3196:22;3186:32;;3256:7;3249:4;3245:2;3241:13;3237:27;3227:55;;3278:1;3275;3268:12;3227:55;3314:2;3301:16;3336:2;3332;3329:10;3326:36;;;3342:18;;:::i;:::-;3417:2;3411:9;3385:2;3471:13;;-1:-1:-1;;3467:22:4;;;3491:2;3463:31;3459:40;3447:53;;;3515:18;;;3535:22;;;3512:46;3509:72;;;3561:18;;:::i;:::-;3601:10;3597:2;3590:22;3636:2;3628:6;3621:18;3676:7;3671:2;3666;3662;3658:11;3654:20;3651:33;3648:53;;;3697:1;3694;3687:12;3648:53;3753:2;3748;3744;3740:11;3735:2;3727:6;3723:15;3710:46;3798:1;3776:15;;;3793:2;3772:24;3765:35;;;;-1:-1:-1;3780:6:4;2909:922;-1:-1:-1;;;;;2909:922:4:o;3836:180::-;3895:6;3948:2;3936:9;3927:7;3923:23;3919:32;3916:52;;;3964:1;3961;3954:12;3916:52;-1:-1:-1;3987:23:4;;3836:180;-1:-1:-1;3836:180:4:o;4021:248::-;4089:6;4097;4150:2;4138:9;4129:7;4125:23;4121:32;4118:52;;;4166:1;4163;4156:12;4118:52;-1:-1:-1;;4189:23:4;;;4259:2;4244:18;;;4231:32;;-1:-1:-1;4021:248:4:o;4274:185::-;4316:3;4354:5;4348:12;4369:52;4414:6;4409:3;4402:4;4395:5;4391:16;4369:52;:::i;:::-;4437:16;;;;;4274:185;-1:-1:-1;;4274:185:4:o;4464:1174::-;4640:3;4669:1;4702:6;4696:13;4732:3;4754:1;4782:9;4778:2;4774:18;4764:28;;4842:2;4831:9;4827:18;4864;4854:61;;4908:4;4900:6;4896:17;4886:27;;4854:61;4934:2;4982;4974:6;4971:14;4951:18;4948:38;4945:165;;;-1:-1:-1;;;5009:33:4;;5065:4;5062:1;5055:15;5095:4;5016:3;5083:17;4945:165;5126:18;5153:104;;;;5271:1;5266:320;;;;5119:467;;5153:104;-1:-1:-1;;5186:24:4;;5174:37;;5231:16;;;;-1:-1:-1;5153:104:4;;5266:320;14949:1;14942:14;;;14986:4;14973:18;;5361:1;5375:165;5389:6;5386:1;5383:13;5375:165;;;5467:14;;5454:11;;;5447:35;5510:16;;;;5404:10;;5375:165;;;5379:3;;5569:6;5564:3;5560:16;5553:23;;5119:467;;;;;;;5602:30;5628:3;5620:6;5602:30;:::i;:::-;5595:37;4464:1174;-1:-1:-1;;;;;4464:1174:4:o;5851:662::-;-1:-1:-1;;;;;6130:15:4;;;6112:34;;6182:15;;6177:2;6162:18;;6155:43;6229:2;6214:18;;6207:34;;;6277:3;6272:2;6257:18;;6250:31;;;6297:19;;6290:35;;;6055:4;6318:6;6368;6092:3;6347:19;;6334:49;6433:1;6427:3;6418:6;6407:9;6403:22;6399:32;6392:43;6503:3;6496:2;6492:7;6487:2;6479:6;6475:15;6471:29;6460:9;6456:45;6452:55;6444:63;;5851:662;;;;;;;;:::o;7549:383::-;7698:2;7687:9;7680:21;7661:4;7730:6;7724:13;7773:6;7768:2;7757:9;7753:18;7746:34;7789:66;7848:6;7843:2;7832:9;7828:18;7823:2;7815:6;7811:15;7789:66;:::i;:::-;7916:2;7895:15;-1:-1:-1;;7891:29:4;7876:45;;;;7923:2;7872:54;;7549:383;-1:-1:-1;;7549:383:4:o;11719:340::-;11921:2;11903:21;;;11960:2;11940:18;;;11933:30;-1:-1:-1;;;11994:2:4;11979:18;;11972:46;12050:2;12035:18;;11719:340::o;12064:356::-;12266:2;12248:21;;;12285:18;;;12278:30;12344:34;12339:2;12324:18;;12317:62;12411:2;12396:18;;12064:356::o;15002:128::-;15042:3;15073:1;15069:6;15066:1;15063:13;15060:39;;;15079:18;;:::i;:::-;-1:-1:-1;15115:9:4;;15002:128::o;15135:120::-;15175:1;15201;15191:35;;15206:18;;:::i;:::-;-1:-1:-1;15240:9:4;;15135:120::o;15260:168::-;15300:7;15366:1;15362;15358:6;15354:14;15351:1;15348:21;15343:1;15336:9;15329:17;15325:45;15322:71;;;15373:18;;:::i;:::-;-1:-1:-1;15413:9:4;;15260:168::o;15433:125::-;15473:4;15501:1;15498;15495:8;15492:34;;;15506:18;;:::i;:::-;-1:-1:-1;15543:9:4;;15433:125::o;15563:258::-;15635:1;15645:113;15659:6;15656:1;15653:13;15645:113;;;15735:11;;;15729:18;15716:11;;;15709:39;15681:2;15674:10;15645:113;;;15776:6;15773:1;15770:13;15767:48;;;15811:1;15802:6;15797:3;15793:16;15786:27;15767:48;;15563:258;;;:::o;15826:380::-;15905:1;15901:12;;;;15948;;;15969:61;;16023:4;16015:6;16011:17;16001:27;;15969:61;16076:2;16068:6;16065:14;16045:18;16042:38;16039:161;;;16122:10;16117:3;16113:20;16110:1;16103:31;16157:4;16154:1;16147:15;16185:4;16182:1;16175:15;16039:161;;15826:380;;;:::o;16211:135::-;16250:3;-1:-1:-1;;16271:17:4;;16268:43;;;16291:18;;:::i;:::-;-1:-1:-1;16338:1:4;16327:13;;16211:135::o;16351:112::-;16383:1;16409;16399:35;;16414:18;;:::i;:::-;-1:-1:-1;16448:9:4;;16351:112::o;16468:127::-;16529:10;16524:3;16520:20;16517:1;16510:31;16560:4;16557:1;16550:15;16584:4;16581:1;16574:15;16600:127;16661:10;16656:3;16652:20;16649:1;16642:31;16692:4;16689:1;16682:15;16716:4;16713:1;16706:15;16732:127;16793:10;16788:3;16784:20;16781:1;16774:31;16824:4;16821:1;16814:15;16848:4;16845:1;16838:15;16864:127;16925:10;16920:3;16916:20;16913:1;16906:31;16956:4;16953:1;16946:15;16980:4;16977:1;16970:15;16996:131;-1:-1:-1;;;;;;17070:32:4;;17060:43;;17050:71;;17117:1;17114;17107:12

Swarm Source

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