ETH Price: $3,292.40 (-1.14%)

Token

Aleph (Aleph)
 

Overview

Max Total Supply

72 Aleph

Holders

72

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
1 Aleph
0xf17ae88f4b5270b437b4a390387f9e90ad5f91ee
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:
ERC721_Minimal

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-01
*/

// Sources flattened with hardhat v2.8.0 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
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 @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


// File contracts/TheNothingERC721/MinimalERC721_V4_worm.sol

pragma solidity ^0.8.10;
library Strings { //from OpenZeppelin v4.4.1
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

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

    /**
     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.
     */
    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    /**
     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
     */
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

interface IERC721Receiver {
    /// returns `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
    function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns(bytes4);
}

interface ITokenURICustom {
    // Implementation of a custom tokenURI
    function constructTokenURI(uint256 tokenId) external pure returns (string memory);
}

contract ERC721_Minimal is Ownable{
    using Strings for uint256;

    //Events ERC721
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    //max supply before minting is disabled
    //uint256 MAX_SUPPLY = type(uint160).max;

    address burnAddress = 0x000000000000000000000000000000000000dEaD;

    // Token name
    string private _name;

    // Token symbol
    string private _symbol;

    // string private baseURI;

    // Optional mapping for token URIs
    // mapping(uint256 => string) private _tokenURIs;

    address private _customURI;
    bool public finalised;

    // Mapping from token ID to owner address
    address[] private _owners;

    uint256 public supplyCounter;

    // Mapping owner address to token owner flag
    mapping(address => bool) private _isOwner;

    // Mapping from token ID to approved address
    mapping(uint256 => address) private _tokenApprovals;

    mapping(address => mapping(address => bool)) private _operatorApprovals;

    // ERC-2981: NFT Royalty Standard
    address payable private _royaltyRecipient;
    uint256 private _royaltyBps;


    constructor(string memory name_, string memory symbol_, address contractURI) {
        _name = name_;
        _symbol = symbol_;
        //_setBaseURI(baseURI_);

        _customURI = contractURI;

        _royaltyRecipient = payable(msg.sender);
        _royaltyBps = 1000;

        _mint(msg.sender, supplyCounter);
        supplyCounter+=1;
        
    }

    function setCustomURI(address contractURI) public onlyOwner {
        require(finalised == false, "Uri finalised");
        _customURI = contractURI;
    }

    function setFinalised() public onlyOwner {
        finalised = true;
    }

    function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
        // return interfaceId == type(IERC165).interfaceId;
        return interfaceId == 0x01ffc9a7 || interfaceId == 0x80ac58cd || interfaceId == 0x5b5e139f || interfaceId == 0x2a55205a;
        //ERC721 = 0x80ac58cd
        //ERC721 metadata = 0x5b5e139f
        //ERC721 enumerabe = 0x780e9d63
        //ERC721 receiver = 0x150b7a02
        //ERC165 = 0x01ffc9a7b
        //_INTERFACE_ID_ERC2981 = 0x2a55205a;
    }

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

    function balanceOf(address owner) public view  returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        if(_isOwner[owner]) {
            return 1;
        }
        else {
            return 0;
        }

    }

    function ownerOf(uint256 tokenId) public view returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: owner query for nonexistent token");
        return owner;
    }

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

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

    function tokenURI(uint256 tokenId) public view returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");

        if(_customURI != address(0)) {
            return ITokenURICustom(_customURI).constructTokenURI(tokenId);
        }
        else {
            // string memory bURI = baseURI;
            // return bytes(bURI).length > 0 ? string(abi.encodePacked(bURI, tokenId.toString())) : "";
            return "Missing URI";
         }
    }

    // function _setBaseURI(string memory baseURI_) internal {
    //     baseURI = baseURI_;
    // }

    function approve(address to, uint256 tokenId) public {
        address owner = ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");

        require(
            msg.sender == owner || isApprovedForAll(owner, msg.sender),
            "ERC721: approve caller is not owner nor approved for all"
        );
 
        _approve(to, tokenId);
    }

    function getApproved(uint256 tokenId) public view returns (address) {
        require(_exists(tokenId), "ERC721: approved query for nonexistent token");

        return _tokenApprovals[tokenId];
    }

    function setApprovalForAll(address operator, bool approved) public {
        _setApprovalForAll(msg.sender, operator, approved);
    }

    function isApprovedForAll(address owner, address operator) public view returns (bool) {
        return _operatorApprovals[owner][operator];
    }

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public  {
        //solhint-disable-next-line max-line-length
        require(_isApprovedOrOwner(msg.sender, tokenId), "ERC721: transfer caller is not owner nor approved");

        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public {
        safeTransferFrom(from, to, tokenId, "");
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) public {
        require(_isApprovedOrOwner(msg.sender, tokenId), "ERC721: transfer caller is not owner nor approved");
        _safeTransfer(from, to, tokenId, _data);
    }

    function _safeTransfer(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal {
        _transfer(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
    }

    function _exists(uint256 tokenId) internal view returns (bool) {
        return tokenId < _owners.length && _owners[tokenId] != address(0);
    }

    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) {
        require(_exists(tokenId), "ERC721: operator query for nonexistent token");
        address owner = ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
    }

    function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");

        
        _owners.push(to);

        _isOwner[to] = true;

        emit Transfer(address(0), to, tokenId);

    }

    function _burn(uint256 tokenId) internal {
        address owner = ownerOf(tokenId);

        // Clear approvals
        _approve(address(0), tokenId);

        _isOwner[owner] = false;

        
        _owners[tokenId] = address(0);

        emit Transfer(owner, address(0), tokenId);

    }

    function _transfer(
        address from,
        address to,
        uint256 tokenId
    ) internal {
        require(ownerOf(tokenId) == from, "ERC721: transfer from incorrect owner");
        require(to != address(0), "ERC721: transfer to the zero address");
        require(!_isOwner[to], "ERC721: Only one token per wallet allowed");




        if(balanceOf(burnAddress) > 0 || to == burnAddress) {
            // Clear approvals from the previous owner
            _approve(address(0), tokenId);

            _owners[tokenId] = to;

            _isOwner[to] = true;
            _isOwner[from] = false;

            emit Transfer(from, to, tokenId);
        }
        else {
            _mint(to, supplyCounter);
            supplyCounter+=1;
            
        }

    }

    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ownerOf(tokenId), to, tokenId);
    }

    function _setApprovalForAll(
        address owner,
        address operator,
        bool approved
    ) internal virtual {
        require(owner != operator, "ERC721: approve to caller");
        _operatorApprovals[owner][operator] = approved;
        emit ApprovalForAll(owner, operator, approved);
    }

    function _checkOnERC721Received(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) private returns (bool) {
        if (to.code.length > 0) {
            try IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, _data) returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert("ERC721: transfer to non ERC721Receiver implementer");
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }


    //EIP-2981 Royalty Standard
    function setRoyaltyPercentageBasisPoints(uint256 royaltyPercentageBasisPoints) public onlyOwner {
        _royaltyBps = royaltyPercentageBasisPoints;
    }

    function setRoyaltyReceipientAddress(address payable royaltyReceipientAddress) public onlyOwner {
        _royaltyRecipient = royaltyReceipientAddress;
    }

    
    function royaltyInfo(uint256 tokenId, uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount) {
        uint256 royalty = (salePrice * _royaltyBps) / 10000;
        return (_royaltyRecipient, royalty);
    }




}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"contractURI","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","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":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"finalised","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","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":"tokenId","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":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","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":"address","name":"contractURI","type":"address"}],"name":"setCustomURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalised","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"royaltyPercentageBasisPoints","type":"uint256"}],"name":"setRoyaltyPercentageBasisPoints","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"royaltyReceipientAddress","type":"address"}],"name":"setRoyaltyReceipientAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supplyCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"totalSupply","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":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600180546001600160a01b03191661dead1790553480156200002557600080fd5b5060405162001db538038062001db583398101604081905262000048916200043c565b6200005333620000e1565b825162000068906002906020860190620002c9565b5081516200007e906003906020850190620002c9565b50600480546001600160a01b03199081166001600160a01b03841617909155600a8054339216821790556103e8600b55600654620000bd919062000131565b600160066000828254620000d29190620004c9565b90915550620005439350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200018d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064015b60405180910390fd5b62000198816200027a565b15620001e75760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640162000184565b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b038516908117909155600081815260076020526040808220805460ff191690941790935591518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60055460009082108015620002c3575060006001600160a01b031660058381548110620002ab57620002ab620004f0565b6000918252602090912001546001600160a01b031614155b92915050565b828054620002d79062000506565b90600052602060002090601f016020900481019282620002fb576000855562000346565b82601f106200031657805160ff191683800117855562000346565b8280016001018555821562000346579182015b828111156200034657825182559160200191906001019062000329565b506200035492915062000358565b5090565b5b8082111562000354576000815560010162000359565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200039757600080fd5b81516001600160401b0380821115620003b457620003b46200036f565b604051601f8301601f19908116603f01168101908282118183101715620003df57620003df6200036f565b81604052838152602092508683858801011115620003fc57600080fd5b600091505b8382101562000420578582018301518183018401529082019062000401565b83821115620004325760008385830101525b9695505050505050565b6000806000606084860312156200045257600080fd5b83516001600160401b03808211156200046a57600080fd5b620004788783880162000385565b945060208601519150808211156200048f57600080fd5b506200049e8682870162000385565b604086015190935090506001600160a01b0381168114620004be57600080fd5b809150509250925092565b60008219821115620004eb57634e487b7160e01b600052601160045260246000fd5b500190565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806200051b57607f821691505b602082108114156200053d57634e487b7160e01b600052602260045260246000fd5b50919050565b61186280620005536000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c806370a08231116100c3578063c87b56dd1161007c578063c87b56dd146102df578063e042e98c146102f2578063e0cebc4214610305578063e985e9c51461030e578063e99df47814610321578063f2fde38b1461033457600080fd5b806370a0823114610285578063715018a6146102985780638da5cb5b146102a057806395d89b41146102b1578063a22cb465146102b9578063b88d4fde146102cc57600080fd5b8063214bb60f11610115578063214bb60f146101fe57806323b872dd1461021257806323f4b3c8146102255780632a55205a1461022d57806342842e0e1461025f5780636352211e1461027257600080fd5b80629ee39c1461015c57806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101d957806318160ddd146101ec575b600080fd5b61016f61016a3660046112cf565b610347565b005b61018461017f366004611309565b61039c565b60405190151581526020015b60405180910390f35b6101a1610409565b604051610190919061137e565b6101c16101bc366004611391565b61049b565b6040516001600160a01b039091168152602001610190565b61016f6101e73660046113aa565b610523565b6006545b604051908152602001610190565b60045461018490600160a01b900460ff1681565b61016f6102203660046113d6565b610639565b61016f61066a565b61024061023b366004611417565b6106a9565b604080516001600160a01b039093168352602083019190915201610190565b61016f61026d3660046113d6565b6106e0565b6101c1610280366004611391565b6106fb565b6101f06102933660046112cf565b610787565b61016f610823565b6000546001600160a01b03166101c1565b6101a1610859565b61016f6102c7366004611439565b610868565b61016f6102da3660046114e6565b610877565b6101a16102ed366004611391565b6108af565b61016f610300366004611391565b6109c5565b6101f060065481565b61018461031c366004611595565b6109f4565b61016f61032f3660046112cf565b610a22565b61016f6103423660046112cf565b610ab8565b6000546001600160a01b0316331461037a5760405162461bcd60e51b8152600401610371906115c3565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60006301ffc9a760e01b6001600160e01b0319831614806103cd57506380ac58cd60e01b6001600160e01b03198316145b806103e85750635b5e139f60e01b6001600160e01b03198316145b80610403575063152a902d60e11b6001600160e01b03198316145b92915050565b606060028054610418906115f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610444906115f8565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b60006104a682610b53565b6105075760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610371565b506000908152600860205260409020546001600160a01b031690565b600061052e826106fb565b9050806001600160a01b0316836001600160a01b0316141561059c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610371565b336001600160a01b03821614806105b857506105b881336109f4565b61062a5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610371565b6106348383610b9d565b505050565b6106433382610c0b565b61065f5760405162461bcd60e51b815260040161037190611633565b610634838383610cd5565b6000546001600160a01b031633146106945760405162461bcd60e51b8152600401610371906115c3565b6004805460ff60a01b1916600160a01b179055565b6000806000612710600b54856106bf919061169a565b6106c991906116b9565b600a546001600160a01b0316969095509350505050565b61063483838360405180602001604052806000815250610877565b60008060058381548110610711576107116116db565b6000918252602090912001546001600160a01b03169050806104035760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610371565b60006001600160a01b0382166107f25760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610371565b6001600160a01b03821660009081526007602052604090205460ff161561081b57506001919050565b506000919050565b6000546001600160a01b0316331461084d5760405162461bcd60e51b8152600401610371906115c3565b6108576000610f2b565b565b606060038054610418906115f8565b610873338383610f7b565b5050565b6108813383610c0b565b61089d5760405162461bcd60e51b815260040161037190611633565b6108a98484848461104a565b50505050565b60606108ba82610b53565b61091e5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610371565b6004546001600160a01b03161561099e57600480546040516344a5a61760e11b81529182018490526001600160a01b03169063894b4c2e90602401600060405180830381865afa158015610976573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261040391908101906116f1565b505060408051808201909152600b81526a4d697373696e672055524960a81b602082015290565b6000546001600160a01b031633146109ef5760405162461bcd60e51b8152600401610371906115c3565b600b55565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205460ff1690565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b8152600401610371906115c3565b600454600160a01b900460ff1615610a965760405162461bcd60e51b815260206004820152600d60248201526c155c9a48199a5b985b1a5cd959609a1b6044820152606401610371565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ae25760405162461bcd60e51b8152600401610371906115c3565b6001600160a01b038116610b475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610371565b610b5081610f2b565b50565b60055460009082108015610403575060006001600160a01b031660058381548110610b8057610b806116db565b6000918252602090912001546001600160a01b0316141592915050565b600081815260086020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bd2826106fb565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610c1682610b53565b610c775760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610371565b6000610c82836106fb565b9050806001600160a01b0316846001600160a01b03161480610cbd5750836001600160a01b0316610cb28461049b565b6001600160a01b0316145b80610ccd5750610ccd81856109f4565b949350505050565b826001600160a01b0316610ce8826106fb565b6001600160a01b031614610d4c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610371565b6001600160a01b038216610dae5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b03821660009081526007602052604090205460ff1615610e295760405162461bcd60e51b815260206004820152602960248201527f4552433732313a204f6e6c79206f6e6520746f6b656e207065722077616c6c656044820152681d08185b1b1bddd95960ba1b6064820152608401610371565b600154600090610e41906001600160a01b0316610787565b1180610e5a57506001546001600160a01b038381169116145b15610f0257610e6a600082610b9d565b8160058281548110610e7e57610e7e6116db565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905584831680835260079091526040808320805460ff19908116600117909155938716808452818420805490951690945551849391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610f0e8260065461107d565b600160066000828254610f219190611768565b9091555050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b03161415610fdd5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610371565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611055848484610cd5565b611061848484846111bc565b6108a95760405162461bcd60e51b815260040161037190611780565b6001600160a01b0382166110d35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610371565b6110dc81610b53565b156111295760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610371565b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b038516908117909155600081815260076020526040808220805460ff191690941790935591518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b156112af57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906112009033908990889088906004016117d2565b6020604051808303816000875af192505050801561123b575060408051601f3d908101601f191682019092526112389181019061180f565b60015b611295573d808015611269576040519150601f19603f3d011682016040523d82523d6000602084013e61126e565b606091505b50805161128d5760405162461bcd60e51b815260040161037190611780565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ccd565b506001949350505050565b6001600160a01b0381168114610b5057600080fd5b6000602082840312156112e157600080fd5b81356112ec816112ba565b9392505050565b6001600160e01b031981168114610b5057600080fd5b60006020828403121561131b57600080fd5b81356112ec816112f3565b60005b83811015611341578181015183820152602001611329565b838111156108a95750506000910152565b6000815180845261136a816020860160208601611326565b601f01601f19169290920160200192915050565b6020815260006112ec6020830184611352565b6000602082840312156113a357600080fd5b5035919050565b600080604083850312156113bd57600080fd5b82356113c8816112ba565b946020939093013593505050565b6000806000606084860312156113eb57600080fd5b83356113f6816112ba565b92506020840135611406816112ba565b929592945050506040919091013590565b6000806040838503121561142a57600080fd5b50508035926020909101359150565b6000806040838503121561144c57600080fd5b8235611457816112ba565b91506020830135801515811461146c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114b6576114b6611477565b604052919050565b600067ffffffffffffffff8211156114d8576114d8611477565b50601f01601f191660200190565b600080600080608085870312156114fc57600080fd5b8435611507816112ba565b93506020850135611517816112ba565b925060408501359150606085013567ffffffffffffffff81111561153a57600080fd5b8501601f8101871361154b57600080fd5b803561155e611559826114be565b61148d565b81815288602083850101111561157357600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b600080604083850312156115a857600080fd5b82356115b3816112ba565b9150602083013561146c816112ba565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061160c57607f821691505b6020821081141561162d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156116b4576116b4611684565b500290565b6000826116d657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561170357600080fd5b815167ffffffffffffffff81111561171a57600080fd5b8201601f8101841361172b57600080fd5b8051611739611559826114be565b81815285602083850101111561174e57600080fd5b61175f826020830160208601611326565b95945050505050565b6000821982111561177b5761177b611684565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061180590830184611352565b9695505050505050565b60006020828403121561182157600080fd5b81516112ec816112f356fea264697066735822122065b5bc3651aba31a0e871c9ec01816ea0eb2ab6b83f359a30fbae4521219d02264736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e97772125693d72fda8aef4c6790cc1707fae4fc0000000000000000000000000000000000000000000000000000000000000005416c6570680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005416c657068000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101575760003560e01c806370a08231116100c3578063c87b56dd1161007c578063c87b56dd146102df578063e042e98c146102f2578063e0cebc4214610305578063e985e9c51461030e578063e99df47814610321578063f2fde38b1461033457600080fd5b806370a0823114610285578063715018a6146102985780638da5cb5b146102a057806395d89b41146102b1578063a22cb465146102b9578063b88d4fde146102cc57600080fd5b8063214bb60f11610115578063214bb60f146101fe57806323b872dd1461021257806323f4b3c8146102255780632a55205a1461022d57806342842e0e1461025f5780636352211e1461027257600080fd5b80629ee39c1461015c57806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101d957806318160ddd146101ec575b600080fd5b61016f61016a3660046112cf565b610347565b005b61018461017f366004611309565b61039c565b60405190151581526020015b60405180910390f35b6101a1610409565b604051610190919061137e565b6101c16101bc366004611391565b61049b565b6040516001600160a01b039091168152602001610190565b61016f6101e73660046113aa565b610523565b6006545b604051908152602001610190565b60045461018490600160a01b900460ff1681565b61016f6102203660046113d6565b610639565b61016f61066a565b61024061023b366004611417565b6106a9565b604080516001600160a01b039093168352602083019190915201610190565b61016f61026d3660046113d6565b6106e0565b6101c1610280366004611391565b6106fb565b6101f06102933660046112cf565b610787565b61016f610823565b6000546001600160a01b03166101c1565b6101a1610859565b61016f6102c7366004611439565b610868565b61016f6102da3660046114e6565b610877565b6101a16102ed366004611391565b6108af565b61016f610300366004611391565b6109c5565b6101f060065481565b61018461031c366004611595565b6109f4565b61016f61032f3660046112cf565b610a22565b61016f6103423660046112cf565b610ab8565b6000546001600160a01b0316331461037a5760405162461bcd60e51b8152600401610371906115c3565b60405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60006301ffc9a760e01b6001600160e01b0319831614806103cd57506380ac58cd60e01b6001600160e01b03198316145b806103e85750635b5e139f60e01b6001600160e01b03198316145b80610403575063152a902d60e11b6001600160e01b03198316145b92915050565b606060028054610418906115f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610444906115f8565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b60006104a682610b53565b6105075760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610371565b506000908152600860205260409020546001600160a01b031690565b600061052e826106fb565b9050806001600160a01b0316836001600160a01b0316141561059c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610371565b336001600160a01b03821614806105b857506105b881336109f4565b61062a5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610371565b6106348383610b9d565b505050565b6106433382610c0b565b61065f5760405162461bcd60e51b815260040161037190611633565b610634838383610cd5565b6000546001600160a01b031633146106945760405162461bcd60e51b8152600401610371906115c3565b6004805460ff60a01b1916600160a01b179055565b6000806000612710600b54856106bf919061169a565b6106c991906116b9565b600a546001600160a01b0316969095509350505050565b61063483838360405180602001604052806000815250610877565b60008060058381548110610711576107116116db565b6000918252602090912001546001600160a01b03169050806104035760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610371565b60006001600160a01b0382166107f25760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610371565b6001600160a01b03821660009081526007602052604090205460ff161561081b57506001919050565b506000919050565b6000546001600160a01b0316331461084d5760405162461bcd60e51b8152600401610371906115c3565b6108576000610f2b565b565b606060038054610418906115f8565b610873338383610f7b565b5050565b6108813383610c0b565b61089d5760405162461bcd60e51b815260040161037190611633565b6108a98484848461104a565b50505050565b60606108ba82610b53565b61091e5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610371565b6004546001600160a01b03161561099e57600480546040516344a5a61760e11b81529182018490526001600160a01b03169063894b4c2e90602401600060405180830381865afa158015610976573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261040391908101906116f1565b505060408051808201909152600b81526a4d697373696e672055524960a81b602082015290565b6000546001600160a01b031633146109ef5760405162461bcd60e51b8152600401610371906115c3565b600b55565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205460ff1690565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b8152600401610371906115c3565b600454600160a01b900460ff1615610a965760405162461bcd60e51b815260206004820152600d60248201526c155c9a48199a5b985b1a5cd959609a1b6044820152606401610371565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ae25760405162461bcd60e51b8152600401610371906115c3565b6001600160a01b038116610b475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610371565b610b5081610f2b565b50565b60055460009082108015610403575060006001600160a01b031660058381548110610b8057610b806116db565b6000918252602090912001546001600160a01b0316141592915050565b600081815260086020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bd2826106fb565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610c1682610b53565b610c775760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610371565b6000610c82836106fb565b9050806001600160a01b0316846001600160a01b03161480610cbd5750836001600160a01b0316610cb28461049b565b6001600160a01b0316145b80610ccd5750610ccd81856109f4565b949350505050565b826001600160a01b0316610ce8826106fb565b6001600160a01b031614610d4c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610371565b6001600160a01b038216610dae5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610371565b6001600160a01b03821660009081526007602052604090205460ff1615610e295760405162461bcd60e51b815260206004820152602960248201527f4552433732313a204f6e6c79206f6e6520746f6b656e207065722077616c6c656044820152681d08185b1b1bddd95960ba1b6064820152608401610371565b600154600090610e41906001600160a01b0316610787565b1180610e5a57506001546001600160a01b038381169116145b15610f0257610e6a600082610b9d565b8160058281548110610e7e57610e7e6116db565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905584831680835260079091526040808320805460ff19908116600117909155938716808452818420805490951690945551849391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610f0e8260065461107d565b600160066000828254610f219190611768565b9091555050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b03161415610fdd5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610371565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611055848484610cd5565b611061848484846111bc565b6108a95760405162461bcd60e51b815260040161037190611780565b6001600160a01b0382166110d35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610371565b6110dc81610b53565b156111295760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610371565b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b038516908117909155600081815260076020526040808220805460ff191690941790935591518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b156112af57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906112009033908990889088906004016117d2565b6020604051808303816000875af192505050801561123b575060408051601f3d908101601f191682019092526112389181019061180f565b60015b611295573d808015611269576040519150601f19603f3d011682016040523d82523d6000602084013e61126e565b606091505b50805161128d5760405162461bcd60e51b815260040161037190611780565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ccd565b506001949350505050565b6001600160a01b0381168114610b5057600080fd5b6000602082840312156112e157600080fd5b81356112ec816112ba565b9392505050565b6001600160e01b031981168114610b5057600080fd5b60006020828403121561131b57600080fd5b81356112ec816112f3565b60005b83811015611341578181015183820152602001611329565b838111156108a95750506000910152565b6000815180845261136a816020860160208601611326565b601f01601f19169290920160200192915050565b6020815260006112ec6020830184611352565b6000602082840312156113a357600080fd5b5035919050565b600080604083850312156113bd57600080fd5b82356113c8816112ba565b946020939093013593505050565b6000806000606084860312156113eb57600080fd5b83356113f6816112ba565b92506020840135611406816112ba565b929592945050506040919091013590565b6000806040838503121561142a57600080fd5b50508035926020909101359150565b6000806040838503121561144c57600080fd5b8235611457816112ba565b91506020830135801515811461146c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114b6576114b6611477565b604052919050565b600067ffffffffffffffff8211156114d8576114d8611477565b50601f01601f191660200190565b600080600080608085870312156114fc57600080fd5b8435611507816112ba565b93506020850135611517816112ba565b925060408501359150606085013567ffffffffffffffff81111561153a57600080fd5b8501601f8101871361154b57600080fd5b803561155e611559826114be565b61148d565b81815288602083850101111561157357600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b600080604083850312156115a857600080fd5b82356115b3816112ba565b9150602083013561146c816112ba565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061160c57607f821691505b6020821081141561162d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156116b4576116b4611684565b500290565b6000826116d657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561170357600080fd5b815167ffffffffffffffff81111561171a57600080fd5b8201601f8101841361172b57600080fd5b8051611739611559826114be565b81815285602083850101111561174e57600080fd5b61175f826020830160208601611326565b95945050505050565b6000821982111561177b5761177b611684565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061180590830184611352565b9695505050505050565b60006020828403121561182157600080fd5b81516112ec816112f356fea264697066735822122065b5bc3651aba31a0e871c9ec01816ea0eb2ab6b83f359a30fbae4521219d02264736f6c634300080a0033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e97772125693d72fda8aef4c6790cc1707fae4fc0000000000000000000000000000000000000000000000000000000000000005416c6570680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005416c657068000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Aleph
Arg [1] : symbol_ (string): Aleph
Arg [2] : contractURI (address): 0xe97772125693D72fDa8aEf4c6790Cc1707fae4Fc

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000e97772125693d72fda8aef4c6790cc1707fae4fc
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [4] : 416c657068000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 416c657068000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

5913:9874:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15366:159;;;;;;:::i;:::-;;:::i;:::-;;7908:504;;;;;;:::i;:::-;;:::i;:::-;;;977:14:1;;970:22;952:41;;940:2;925:18;7908:504:0;;;;;;;;9042:83;;;:::i;:::-;;;;;;;:::i;10245:204::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2104:32:1;;;2086:51;;2074:2;2059:18;10245:204:0;1940:203:1;9853:384:0;;;;;;:::i;:::-;;:::i;8420:101::-;8500:13;;8420:101;;;2622:25:1;;;2610:2;2595:18;8420:101:0;2476:177:1;6716:21:0;;;;;-1:-1:-1;;;6716:21:0;;;;;;10756:321;;;;;;:::i;:::-;;:::i;7824:76::-;;;:::i;15539:237::-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;3580:32:1;;;3562:51;;3644:2;3629:18;;3622:34;;;;3535:18;15539:237:0;3388:274:1;11085:168:0;;;;;;:::i;:::-;;:::i;8812:222::-;;;;;;:::i;:::-;;:::i;8529:275::-;;;;;;:::i;:::-;;:::i;2713:103::-;;;:::i;2062:87::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;2062:87;;9133;;;:::i;10457:136::-;;;;;;:::i;:::-;;:::i;11261:309::-;;;;;;:::i;:::-;;:::i;9228:509::-;;;;;;:::i;:::-;;:::i;15201:157::-;;;;;;:::i;:::-;;:::i;6827:28::-;;;;;;10601:147;;;;;;:::i;:::-;;:::i;7658:158::-;;;;;;:::i;:::-;;:::i;2971:201::-;;;;;;:::i;:::-;;:::i;15366:159::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;;;;;;;;;15473:17:::1;:44:::0;;-1:-1:-1;;;;;;15473:44:0::1;-1:-1:-1::0;;;;;15473:44:0;;;::::1;::::0;;;::::1;::::0;;15366:159::o;7908:504::-;7976:4;-1:-1:-1;;;;;;;;;8061:25:0;;;;:54;;-1:-1:-1;;;;;;;;;;8090:25:0;;;8061:54;:83;;;-1:-1:-1;;;;;;;;;;8119:25:0;;;8061:83;:112;;;-1:-1:-1;;;;;;;;;;8148:25:0;;;8061:112;8054:119;7908:504;-1:-1:-1;;7908:504:0:o;9042:83::-;9079:13;9112:5;9105:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9042:83;:::o;10245:204::-;10304:7;10332:16;10340:7;10332;:16::i;:::-;10324:73;;;;-1:-1:-1;;;10324:73:0;;7353:2:1;10324:73:0;;;7335:21:1;7392:2;7372:18;;;7365:30;7431:34;7411:18;;;7404:62;-1:-1:-1;;;7482:18:1;;;7475:42;7534:19;;10324:73:0;7151:408:1;10324:73:0;-1:-1:-1;10417:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;10417:24:0;;10245:204::o;9853:384::-;9917:13;9933:16;9941:7;9933;:16::i;:::-;9917:32;;9974:5;-1:-1:-1;;;;;9968:11:0;:2;-1:-1:-1;;;;;9968:11:0;;;9960:57;;;;-1:-1:-1;;;9960:57:0;;7766:2:1;9960:57:0;;;7748:21:1;7805:2;7785:18;;;7778:30;7844:34;7824:18;;;7817:62;-1:-1:-1;;;7895:18:1;;;7888:31;7936:19;;9960:57:0;7564:397:1;9960:57:0;10052:10;-1:-1:-1;;;;;10052:19:0;;;;:58;;;10075:35;10092:5;10099:10;10075:16;:35::i;:::-;10030:164;;;;-1:-1:-1;;;10030:164:0;;8168:2:1;10030:164:0;;;8150:21:1;8207:2;8187:18;;;8180:30;8246:34;8226:18;;;8219:62;8317:26;8297:18;;;8290:54;8361:19;;10030:164:0;7966:420:1;10030:164:0;10208:21;10217:2;10221:7;10208:8;:21::i;:::-;9906:331;9853:384;;:::o;10756:321::-;10935:39;10954:10;10966:7;10935:18;:39::i;:::-;10927:101;;;;-1:-1:-1;;;10927:101:0;;;;;;;:::i;:::-;11041:28;11051:4;11057:2;11061:7;11041:9;:28::i;7824:76::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;7876:9:::1;:16:::0;;-1:-1:-1;;;;7876:16:0::1;-1:-1:-1::0;;;7876:16:0::1;::::0;;7824:76::o;15539:237::-;15619:16;15637:21;15671:15;15717:5;15702:11;;15690:9;:23;;;;:::i;:::-;15689:33;;;;:::i;:::-;15741:17;;-1:-1:-1;;;;;15741:17:0;;15671:51;;-1:-1:-1;15539:237:0;-1:-1:-1;;;;15539:237:0:o;11085:168::-;11206:39;11223:4;11229:2;11233:7;11206:39;;;;;;;;;;;;:16;:39::i;8812:222::-;8867:7;8887:13;8903:7;8911;8903:16;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;8903:16:0;;-1:-1:-1;8938:19:0;8930:73;;;;-1:-1:-1;;;8930:73:0;;9670:2:1;8930:73:0;;;9652:21:1;9709:2;9689:18;;;9682:30;9748:34;9728:18;;;9721:62;-1:-1:-1;;;9799:18:1;;;9792:39;9848:19;;8930:73:0;9468:405:1;8529:275:0;8585:7;-1:-1:-1;;;;;8613:19:0;;8605:74;;;;-1:-1:-1;;;8605:74:0;;10080:2:1;8605:74:0;;;10062:21:1;10119:2;10099:18;;;10092:30;10158:34;10138:18;;;10131:62;-1:-1:-1;;;10209:18:1;;;10202:40;10259:19;;8605:74:0;9878:406:1;8605:74:0;-1:-1:-1;;;;;8693:15:0;;;;;;:8;:15;;;;;;;;8690:105;;;-1:-1:-1;8732:1:0;;8529:275;-1:-1:-1;8529:275:0:o;8690:105::-;-1:-1:-1;8782:1:0;;8529:275;-1:-1:-1;8529:275:0:o;2713:103::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;2778:30:::1;2805:1;2778:18;:30::i;:::-;2713:103::o:0;9133:87::-;9172:13;9205:7;9198:14;;;;;:::i;10457:136::-;10535:50;10554:10;10566:8;10576;10535:18;:50::i;:::-;10457:136;;:::o;11261:309::-;11419:39;11438:10;11450:7;11419:18;:39::i;:::-;11411:101;;;;-1:-1:-1;;;11411:101:0;;;;;;;:::i;:::-;11523:39;11537:4;11543:2;11547:7;11556:5;11523:13;:39::i;:::-;11261:309;;;;:::o;9228:509::-;9284:13;9318:16;9326:7;9318;:16::i;:::-;9310:76;;;;-1:-1:-1;;;9310:76:0;;10491:2:1;9310:76:0;;;10473:21:1;10530:2;10510:18;;;10503:30;10569:34;10549:18;;;10542:62;-1:-1:-1;;;10620:18:1;;;10613:45;10675:19;;9310:76:0;10289:411:1;9310:76:0;9402:10;;-1:-1:-1;;;;;9402:10:0;:24;9399:331;;9466:10;;;9450:54;;-1:-1:-1;;;9450:54:0;;;;;2622:25:1;;;-1:-1:-1;;;;;9466:10:0;;9450:45;;2595:18:1;;9450:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9450:54:0;;;;;;;;;;;;:::i;9399:331::-;-1:-1:-1;;9697:20:0;;;;;;;;;;;;-1:-1:-1;;;9697:20:0;;;;;9228:509::o;15201:157::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;15308:11:::1;:42:::0;15201:157::o;10601:147::-;-1:-1:-1;;;;;10705:25:0;;;10681:4;10705:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;10601:147::o;7658:158::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;7737:9:::1;::::0;-1:-1:-1;;;7737:9:0;::::1;;;:18;7729:44;;;::::0;-1:-1:-1;;;7729:44:0;;11547:2:1;7729:44:0::1;::::0;::::1;11529:21:1::0;11586:2;11566:18;;;11559:30;-1:-1:-1;;;11605:18:1;;;11598:43;11658:18;;7729:44:0::1;11345:337:1::0;7729:44:0::1;7784:10;:24:::0;;-1:-1:-1;;;;;;7784:24:0::1;-1:-1:-1::0;;;;;7784:24:0;;;::::1;::::0;;;::::1;::::0;;7658:158::o;2971:201::-;2108:7;2135:6;-1:-1:-1;;;;;2135:6:0;860:10;2282:23;2274:68;;;;-1:-1:-1;;;2274:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3060:22:0;::::1;3052:73;;;::::0;-1:-1:-1;;;3052:73:0;;11889:2:1;3052:73:0::1;::::0;::::1;11871:21:1::0;11928:2;11908:18;;;11901:30;11967:34;11947:18;;;11940:62;-1:-1:-1;;;12018:18:1;;;12011:36;12064:19;;3052:73:0::1;11687:402:1::0;3052:73:0::1;3136:28;3155:8;3136:18;:28::i;:::-;2971:201:::0;:::o;11893:147::-;11984:7;:14;11950:4;;11974:24;;:58;;;;;12030:1;-1:-1:-1;;;;;12002:30:0;:7;12010;12002:16;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12002:16:0;:30;;11967:65;11893:147;-1:-1:-1;;11893:147:0:o;13860:167::-;13935:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;13935:29:0;-1:-1:-1;;;;;13935:29:0;;;;;;;;:24;;13989:16;13935:24;13989:7;:16::i;:::-;-1:-1:-1;;;;;13980:39:0;;;;;;;;;;;13860:167;;:::o;12048:333::-;12133:4;12158:16;12166:7;12158;:16::i;:::-;12150:73;;;;-1:-1:-1;;;12150:73:0;;12296:2:1;12150:73:0;;;12278:21:1;12335:2;12315:18;;;12308:30;12374:34;12354:18;;;12347:62;-1:-1:-1;;;12425:18:1;;;12418:42;12477:19;;12150:73:0;12094:408:1;12150:73:0;12234:13;12250:16;12258:7;12250;:16::i;:::-;12234:32;;12296:5;-1:-1:-1;;;;;12285:16:0;:7;-1:-1:-1;;;;;12285:16:0;;:51;;;;12329:7;-1:-1:-1;;;;;12305:31:0;:20;12317:7;12305:11;:20::i;:::-;-1:-1:-1;;;;;12305:31:0;;12285:51;:87;;;;12340:32;12357:5;12364:7;12340:16;:32::i;:::-;12277:96;12048:333;-1:-1:-1;;;;12048:333:0:o;13045:807::-;13189:4;-1:-1:-1;;;;;13169:24:0;:16;13177:7;13169;:16::i;:::-;-1:-1:-1;;;;;13169:24:0;;13161:74;;;;-1:-1:-1;;;13161:74:0;;12709:2:1;13161:74:0;;;12691:21:1;12748:2;12728:18;;;12721:30;12787:34;12767:18;;;12760:62;-1:-1:-1;;;12838:18:1;;;12831:35;12883:19;;13161:74:0;12507:401:1;13161:74:0;-1:-1:-1;;;;;13254:16:0;;13246:65;;;;-1:-1:-1;;;13246:65:0;;13115:2:1;13246:65:0;;;13097:21:1;13154:2;13134:18;;;13127:30;13193:34;13173:18;;;13166:62;-1:-1:-1;;;13244:18:1;;;13237:34;13288:19;;13246:65:0;12913:400:1;13246:65:0;-1:-1:-1;;;;;13331:12:0;;;;;;:8;:12;;;;;;;;13330:13;13322:67;;;;-1:-1:-1;;;13322:67:0;;13520:2:1;13322:67:0;;;13502:21:1;13559:2;13539:18;;;13532:30;13598:34;13578:18;;;13571:62;-1:-1:-1;;;13649:18:1;;;13642:39;13698:19;;13322:67:0;13318:405:1;13322:67:0;13421:11;;13436:1;;13411:22;;-1:-1:-1;;;;;13421:11:0;13411:9;:22::i;:::-;:26;:47;;;-1:-1:-1;13447:11:0;;-1:-1:-1;;;;;13441:17:0;;;13447:11;;13441:17;13411:47;13408:435;;;13531:29;13548:1;13552:7;13531:8;:29::i;:::-;13596:2;13577:7;13585;13577:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;-1:-1:-1;;;;;;13577:21:0;-1:-1:-1;;;;;13577:21:0;;;;;;13615:12;;;;;;:8;:12;;;;;;;:19;;-1:-1:-1;;13615:19:0;;;-1:-1:-1;13615:19:0;;;;13649:14;;;;;;;;;:22;;;;;;;;13693:27;13712:7;;13615:12;;13693:27;;;9906:331;9853:384;;:::o;13408:435::-;13762:24;13768:2;13772:13;;13762:5;:24::i;:::-;13816:1;13801:13;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;;13045:807:0;;;:::o;3332:191::-;3406:16;3425:6;;-1:-1:-1;;;;;3442:17:0;;;-1:-1:-1;;;;;;3442:17:0;;;;;;3475:40;;3425:6;;;;;;;3475:40;;3406:16;3475:40;3395:128;3332:191;:::o;14035:315::-;14190:8;-1:-1:-1;;;;;14181:17:0;:5;-1:-1:-1;;;;;14181:17:0;;;14173:55;;;;-1:-1:-1;;;14173:55:0;;14063:2:1;14173:55:0;;;14045:21:1;14102:2;14082:18;;;14075:30;14141:27;14121:18;;;14114:55;14186:18;;14173:55:0;13861:349:1;14173:55:0;-1:-1:-1;;;;;14239:25:0;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;14239:46:0;;;;;;;;;;14301:41;;952::1;;;14301::0;;925:18:1;14301:41:0;;;;;;;14035:315;;;:::o;11578:307::-;11727:28;11737:4;11743:2;11747:7;11727:9;:28::i;:::-;11774:48;11797:4;11803:2;11807:7;11816:5;11774:22;:48::i;:::-;11766:111;;;;-1:-1:-1;;;11766:111:0;;;;;;;:::i;12389:334::-;-1:-1:-1;;;;;12469:16:0;;12461:61;;;;-1:-1:-1;;;12461:61:0;;14836:2:1;12461:61:0;;;14818:21:1;;;14855:18;;;14848:30;14914:34;14894:18;;;14887:62;14966:18;;12461:61:0;14634:356:1;12461:61:0;12542:16;12550:7;12542;:16::i;:::-;12541:17;12533:58;;;;-1:-1:-1;;;12533:58:0;;15197:2:1;12533:58:0;;;15179:21:1;15236:2;15216:18;;;15209:30;15275;15255:18;;;15248:58;15323:18;;12533:58:0;14995:352:1;12533:58:0;12614:7;:16;;;;;;;;;;;;;-1:-1:-1;;;;;;12614:16:0;-1:-1:-1;;;;;12614:16:0;;;;;;;;-1:-1:-1;12643:12:0;;;:8;12614:16;12643:12;;;;;:19;;-1:-1:-1;;12643:19:0;;;;;;;12680:33;;12705:7;;-1:-1:-1;12680:33:0;;-1:-1:-1;;12680:33:0;12389:334;;:::o;14358:800::-;14513:4;-1:-1:-1;;;;;14534:14:0;;;:18;14530:621;;14573:70;;-1:-1:-1;;;14573:70:0;;-1:-1:-1;;;;;14573:36:0;;;;;:70;;14610:10;;14622:4;;14628:7;;14637:5;;14573:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14573:70:0;;;;;;;;-1:-1:-1;;14573:70:0;;;;;;;;;;;;:::i;:::-;;;14569:527;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14813:13:0;;14809:272;;14856:60;;-1:-1:-1;;;14856:60:0;;;;;;;:::i;14809:272::-;15031:6;15025:13;15016:6;15012:2;15008:15;15001:38;14569:527;-1:-1:-1;;;;;;14694:51:0;-1:-1:-1;;;14694:51:0;;-1:-1:-1;14687:58:0;;14530:621;-1:-1:-1;15135:4:0;14358:800;;;;;;:::o;14:139:1:-;-1:-1:-1;;;;;97:31:1;;87:42;;77:70;;143:1;140;133:12;158:263;225:6;278:2;266:9;257:7;253:23;249:32;246:52;;;294:1;291;284:12;246:52;333:9;320:23;352:39;385:5;352:39;:::i;:::-;410:5;158:263;-1:-1:-1;;;158:263:1:o;426:131::-;-1:-1:-1;;;;;;500:32:1;;490:43;;480:71;;547:1;544;537:12;562:245;620:6;673:2;661:9;652:7;648:23;644:32;641:52;;;689:1;686;679:12;641:52;728:9;715:23;747:30;771:5;747:30;:::i;1004:258::-;1076:1;1086:113;1100:6;1097:1;1094:13;1086:113;;;1176:11;;;1170:18;1157:11;;;1150:39;1122:2;1115:10;1086:113;;;1217:6;1214:1;1211:13;1208:48;;;-1:-1:-1;;1252:1:1;1234:16;;1227:27;1004:258::o;1267:::-;1309:3;1347:5;1341:12;1374:6;1369:3;1362:19;1390:63;1446:6;1439:4;1434:3;1430:14;1423:4;1416:5;1412:16;1390:63;:::i;:::-;1507:2;1486:15;-1:-1:-1;;1482:29:1;1473:39;;;;1514:4;1469:50;;1267:258;-1:-1:-1;;1267:258:1:o;1530:220::-;1679:2;1668:9;1661:21;1642:4;1699:45;1740:2;1729:9;1725:18;1717:6;1699:45;:::i;1755:180::-;1814:6;1867:2;1855:9;1846:7;1842:23;1838:32;1835:52;;;1883:1;1880;1873:12;1835:52;-1:-1:-1;1906:23:1;;1755:180;-1:-1:-1;1755:180:1:o;2148:323::-;2216:6;2224;2277:2;2265:9;2256:7;2252:23;2248:32;2245:52;;;2293:1;2290;2283:12;2245:52;2332:9;2319:23;2351:39;2384:5;2351:39;:::i;:::-;2409:5;2461:2;2446:18;;;;2433:32;;-1:-1:-1;;;2148:323:1:o;2658:472::-;2735:6;2743;2751;2804:2;2792:9;2783:7;2779:23;2775:32;2772:52;;;2820:1;2817;2810:12;2772:52;2859:9;2846:23;2878:39;2911:5;2878:39;:::i;:::-;2936:5;-1:-1:-1;2993:2:1;2978:18;;2965:32;3006:41;2965:32;3006:41;:::i;:::-;2658:472;;3066:7;;-1:-1:-1;;;3120:2:1;3105:18;;;;3092:32;;2658:472::o;3135:248::-;3203:6;3211;3264:2;3252:9;3243:7;3239:23;3235:32;3232:52;;;3280:1;3277;3270:12;3232:52;-1:-1:-1;;3303:23:1;;;3373:2;3358:18;;;3345:32;;-1:-1:-1;3135:248:1:o;3927:424::-;3992:6;4000;4053:2;4041:9;4032:7;4028:23;4024:32;4021:52;;;4069:1;4066;4059:12;4021:52;4108:9;4095:23;4127:39;4160:5;4127:39;:::i;:::-;4185:5;-1:-1:-1;4242:2:1;4227:18;;4214:32;4284:15;;4277:23;4265:36;;4255:64;;4315:1;4312;4305:12;4255:64;4338:7;4328:17;;;3927:424;;;;;:::o;4356:127::-;4417:10;4412:3;4408:20;4405:1;4398:31;4448:4;4445:1;4438:15;4472:4;4469:1;4462:15;4488:275;4559:2;4553:9;4624:2;4605:13;;-1:-1:-1;;4601:27:1;4589:40;;4659:18;4644:34;;4680:22;;;4641:62;4638:88;;;4706:18;;:::i;:::-;4742:2;4735:22;4488:275;;-1:-1:-1;4488:275:1:o;4768:186::-;4816:4;4849:18;4841:6;4838:30;4835:56;;;4871:18;;:::i;:::-;-1:-1:-1;4937:2:1;4916:15;-1:-1:-1;;4912:29:1;4943:4;4908:40;;4768:186::o;4959:1032::-;5054:6;5062;5070;5078;5131:3;5119:9;5110:7;5106:23;5102:33;5099:53;;;5148:1;5145;5138:12;5099:53;5187:9;5174:23;5206:39;5239:5;5206:39;:::i;:::-;5264:5;-1:-1:-1;5321:2:1;5306:18;;5293:32;5334:41;5293:32;5334:41;:::i;:::-;5394:7;-1:-1:-1;5448:2:1;5433:18;;5420:32;;-1:-1:-1;5503:2:1;5488:18;;5475:32;5530:18;5519:30;;5516:50;;;5562:1;5559;5552:12;5516:50;5585:22;;5638:4;5630:13;;5626:27;-1:-1:-1;5616:55:1;;5667:1;5664;5657:12;5616:55;5703:2;5690:16;5728:48;5744:31;5772:2;5744:31;:::i;:::-;5728:48;:::i;:::-;5799:2;5792:5;5785:17;5839:7;5834:2;5829;5825;5821:11;5817:20;5814:33;5811:53;;;5860:1;5857;5850:12;5811:53;5915:2;5910;5906;5902:11;5897:2;5890:5;5886:14;5873:45;5959:1;5954:2;5949;5942:5;5938:14;5934:23;5927:34;5980:5;5970:15;;;;;4959:1032;;;;;;;:::o;5996:404::-;6064:6;6072;6125:2;6113:9;6104:7;6100:23;6096:32;6093:52;;;6141:1;6138;6131:12;6093:52;6180:9;6167:23;6199:39;6232:5;6199:39;:::i;:::-;6257:5;-1:-1:-1;6314:2:1;6299:18;;6286:32;6327:41;6286:32;6327:41;:::i;6405:356::-;6607:2;6589:21;;;6626:18;;;6619:30;6685:34;6680:2;6665:18;;6658:62;6752:2;6737:18;;6405:356::o;6766:380::-;6845:1;6841:12;;;;6888;;;6909:61;;6963:4;6955:6;6951:17;6941:27;;6909:61;7016:2;7008:6;7005:14;6985:18;6982:38;6979:161;;;7062:10;7057:3;7053:20;7050:1;7043:31;7097:4;7094:1;7087:15;7125:4;7122:1;7115:15;6979:161;;6766:380;;;:::o;8391:413::-;8593:2;8575:21;;;8632:2;8612:18;;;8605:30;8671:34;8666:2;8651:18;;8644:62;-1:-1:-1;;;8737:2:1;8722:18;;8715:47;8794:3;8779:19;;8391:413::o;8809:127::-;8870:10;8865:3;8861:20;8858:1;8851:31;8901:4;8898:1;8891:15;8925:4;8922:1;8915:15;8941:168;8981:7;9047:1;9043;9039:6;9035:14;9032:1;9029:21;9024:1;9017:9;9010:17;9006:45;9003:71;;;9054:18;;:::i;:::-;-1:-1:-1;9094:9:1;;8941:168::o;9114:217::-;9154:1;9180;9170:132;;9224:10;9219:3;9215:20;9212:1;9205:31;9259:4;9256:1;9249:15;9287:4;9284:1;9277:15;9170:132;-1:-1:-1;9316:9:1;;9114:217::o;9336:127::-;9397:10;9392:3;9388:20;9385:1;9378:31;9428:4;9425:1;9418:15;9452:4;9449:1;9442:15;10705:635;10785:6;10838:2;10826:9;10817:7;10813:23;10809:32;10806:52;;;10854:1;10851;10844:12;10806:52;10887:9;10881:16;10920:18;10912:6;10909:30;10906:50;;;10952:1;10949;10942:12;10906:50;10975:22;;11028:4;11020:13;;11016:27;-1:-1:-1;11006:55:1;;11057:1;11054;11047:12;11006:55;11086:2;11080:9;11111:48;11127:31;11155:2;11127:31;:::i;11111:48::-;11182:2;11175:5;11168:17;11222:7;11217:2;11212;11208;11204:11;11200:20;11197:33;11194:53;;;11243:1;11240;11233:12;11194:53;11256:54;11307:2;11302;11295:5;11291:14;11286:2;11282;11278:11;11256:54;:::i;:::-;11329:5;10705:635;-1:-1:-1;;;;;10705:635:1:o;13728:128::-;13768:3;13799:1;13795:6;13792:1;13789:13;13786:39;;;13805:18;;:::i;:::-;-1:-1:-1;13841:9:1;;13728:128::o;14215:414::-;14417:2;14399:21;;;14456:2;14436:18;;;14429:30;14495:34;14490:2;14475:18;;14468:62;-1:-1:-1;;;14561:2:1;14546:18;;14539:48;14619:3;14604:19;;14215:414::o;15352:489::-;-1:-1:-1;;;;;15621:15:1;;;15603:34;;15673:15;;15668:2;15653:18;;15646:43;15720:2;15705:18;;15698:34;;;15768:3;15763:2;15748:18;;15741:31;;;15546:4;;15789:46;;15815:19;;15807:6;15789:46;:::i;:::-;15781:54;15352:489;-1:-1:-1;;;;;;15352:489:1:o;15846:249::-;15915:6;15968:2;15956:9;15947:7;15943:23;15939:32;15936:52;;;15984:1;15981;15974:12;15936:52;16016:9;16010:16;16035:30;16059:5;16035:30;:::i

Swarm Source

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