ETH Price: $3,330.61 (-0.98%)

Token

Four Character Idiomatic Compounds (FCIC)
 

Overview

Max Total Supply

109 FCIC

Holders

44

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
1 FCIC
0x53Ed5dc6DF84B901B98De0c9e38969d8C3322C93
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:
Token

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-03-27
*/

pragma solidity ^0.5.0;

contract Ownable {
    address private _owner;

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

    constructor () internal {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

contract ERC165 is IERC165 {
    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;

    mapping(bytes4 => bool) private _supportedInterfaces;

    constructor () internal {
        _registerInterface(_INTERFACE_ID_ERC165);
    }

    function supportsInterface(bytes4 interfaceId) external view returns (bool) {
        return _supportedInterfaces[interfaceId];
    }

    function _registerInterface(bytes4 interfaceId) internal {
        require(interfaceId != 0xffffffff);
        _supportedInterfaces[interfaceId] = true;
    }
}

contract IERC721Receiver {
    function onERC721Received(address operator, address from, uint256 tokenId, bytes memory data)
    public returns (bytes4);
}

contract IERC721 is IERC165 {
    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);

    function balanceOf(address owner) public view returns (uint256 balance);
    function ownerOf(uint256 tokenId) public view returns (address owner);
    function safeTransferFrom(address from, address to, uint256 tokenId) public;
    function transferFrom(address from, address to, uint256 tokenId) public;
    function approve(address to, uint256 tokenId) public;
    function getApproved(uint256 tokenId) public view returns (address operator);
    function setApprovalForAll(address operator, bool _approved) public;
    function isApprovedForAll(address owner, address operator) public view returns (bool);
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public;
}

contract ERC721 is ERC165, IERC721 {
    bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
    bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;

    mapping (uint256 => address) private _tokenOwner;
    mapping (uint256 => address) private _tokenApprovals;
    mapping (address => uint256) private _ownedTokensCount;
    mapping (address => mapping (address => bool)) private _operatorApprovals;

    constructor () public {
        _registerInterface(_INTERFACE_ID_ERC721);
    }

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

        return _ownedTokensCount[owner];
    }

    function ownerOf(uint256 tokenId) public view returns (address) {
        address owner = _tokenOwner[tokenId];
        require(owner != address(0));

        return owner;
    }

    function approve(address to, uint256 tokenId) public {
        address owner = ownerOf(tokenId);
        require(to != owner);
        require(msg.sender == owner || isApprovedForAll(owner, msg.sender));

        _tokenApprovals[tokenId] = to;
        emit Approval(owner, to, tokenId);
    }

    function getApproved(uint256 tokenId) public view returns (address) {
        require(_exists(tokenId));

        return _tokenApprovals[tokenId];
    }

    function setApprovalForAll(address to, bool approved) public {
        require(to != msg.sender);

        _operatorApprovals[msg.sender][to] = approved;
        emit ApprovalForAll(msg.sender, to, approved);
    }

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

    function transferFrom(address from, address to, uint256 tokenId) public {
        require(_isApprovedOrOwner(msg.sender, tokenId));

        _transferFrom(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));
        _safeTransferFrom(from, to, tokenId, _data);
    }

    function _safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) internal {
        _transferFrom(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, _data));
    }

    function _exists(uint256 tokenId) internal view returns (bool) {
        address owner = _tokenOwner[tokenId];
        return owner != address(0);
    }

    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) {
        require(_exists(tokenId));
        address owner = ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
    }

    function _safeMint(address to, uint256 tokenId) internal {
        _safeMint(to, tokenId, "");
    }

    function _safeMint(address to, uint256 tokenId, bytes memory _data) internal {
        _mint(to, tokenId);
        require(_checkOnERC721Received(address(0), to, tokenId, _data));
    }

    function _mint(address to, uint256 tokenId) internal {
        require(to != address(0));
        require(!_exists(tokenId));

        _tokenOwner[tokenId] = to;
        _ownedTokensCount[to]++;

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

    function _transferFrom(address from, address to, uint256 tokenId) internal {
        require(ownerOf(tokenId) == from);
        require(to != address(0));

        _clearApproval(tokenId);

        _ownedTokensCount[from]--;
        _ownedTokensCount[to]++;

        _tokenOwner[tokenId] = to;

        emit Transfer(from, to, tokenId);
    }

    function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data) internal returns (bool)
    {
        if (!isContract(to)) {
            return true;
        }

        (bool success, bytes memory returndata) = to.call(abi.encodeWithSelector(
            IERC721Receiver(to).onERC721Received.selector,
            msg.sender,
            from,
            tokenId,
            _data
        ));

        if (!success) {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert("ERC721: transfer to non ERC721Receiver implementer");
            }
        } else {
            bytes4 retval = abi.decode(returndata, (bytes4));
            return (retval == _ERC721_RECEIVED);
        }
    }

    function _clearApproval(uint256 tokenId) private {
        if (_tokenApprovals[tokenId] != address(0)) {
            _tokenApprovals[tokenId] = address(0);
        }
    }

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
}

contract Token is Ownable, ERC721{

    //-----------------
    // ERC721 & Ownable
    //-----------------
    constructor() Ownable() ERC721() public {
    }

    //-----------------
    // Metadata
    //-----------------
    string private _contract_meta_uri = "https://hakumai-iida.s3-ap-northeast-1.amazonaws.com/fcic/contract.json";
    string private _token_meta_prefix = "https://hakumai-iida.s3-ap-northeast-1.amazonaws.com/fcic/json/meta_";
    string private _token_meta_postfix = ".json";

    function setTokenMetaPrefix( string calldata prefix ) external onlyOwner { _token_meta_prefix = prefix; }
    function setTokenMetaPostfix( string calldata postfix ) external onlyOwner { _token_meta_postfix = postfix; }
    function setContractMetaUri( string calldata uri ) external onlyOwner { _contract_meta_uri = uri; }

    function name() external pure returns (string memory){ return( "Four Character Idiomatic Compounds" ); }

    function symbol() external pure returns (string memory){ return( "FCIC" ); }

    function tokenURI( uint256 tokenId ) external view returns (string memory){
        bytes memory bufPre = bytes( _token_meta_prefix );
        uint256 lenPre = bufPre.length;

        bytes memory bufPost = bytes( _token_meta_postfix );
        uint256 lenPost = bufPost.length;

        uint256 len = 1;
        uint256 temp = tokenId;
        while( temp >= 10 ){
            temp = temp / 10;
            len++;
        }

        bytes memory buf = new bytes(lenPre + len + lenPost);

        for( uint256 i=0; i<lenPre; i++ ){
            buf[i] = bufPre[i];
        }

        temp = tokenId;
        for( uint256 i=0; i<len; i++ ){
            uint8 c = uint8(48 + (temp%10));
            buf[lenPre + len-(i+1)] = byte(c);
            temp /= 10;
        }

        for( uint256 i=0; i<lenPost; i++ ){
            buf[lenPre + len + i] = bufPost[i];
        }

        return( string(buf) );
    }

    function contractURI() external view returns (string memory) { return( _contract_meta_uri ); }

    //-----------------
    // Token
    //-----------------
    uint256[] private _seeds;

    function totalSupply() external view returns (uint256) {
        return( _seeds.length );
    }

    function seed( uint256 tokenId ) external view returns (uint256) {
        return( _seeds[tokenId] );
    }

    function mintTokens( uint256 ofs, uint256 num, uint256[] calldata seeds ) external onlyOwner {
        require( ofs == _seeds.length );
        require( num == seeds.length );

        for( uint256 i=0; i<num; i++ ){
            uint256 id = _seeds.length;
            _seeds.length++;
            _seeds[id] = seeds[i];

            _mint( msg.sender, id );
        }
    }

    function withdraw( uint256 value ) external onlyOwner {
        msg.sender.transfer( value );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ofs","type":"uint256"},{"internalType":"uint256","name":"num","type":"uint256"},{"internalType":"uint256[]","name":"seeds","type":"uint256[]"}],"name":"mintTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"seed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"uri","type":"string"}],"name":"setContractMetaUri","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"postfix","type":"string"}],"name":"setTokenMetaPostfix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"prefix","type":"string"}],"name":"setTokenMetaPrefix","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6101006040526047608081815290620016d860a03980516200002a9160069160209091019062000156565b506040518060800160405280604481526020016200171f6044913980516200005b9160079160209091019062000156565b5060408051808201909152600580825264173539b7b760d91b60209092019182526200008a9160089162000156565b503480156200009857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000f56301ffc9a760e01b6001600160e01b036200011616565b620001106380ac58cd60e01b6001600160e01b036200011616565b620001fb565b6001600160e01b031980821614156200012e57600080fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019957805160ff1916838001178555620001c9565b82800160010185558215620001c9579182015b82811115620001c9578251825591602001919060010190620001ac565b50620001d7929150620001db565b5090565b620001f891905b80821115620001d75760008155600101620001e2565b90565b6114cd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637fdd89f3116100de578063b88d4fde11610097578063df95ec2a11610071578063df95ec2a1461061f578063e8a3d4851461068d578063e985e9c514610695578063f2fde38b146106c357610173565b8063b88d4fde146104d0578063c87b56dd14610594578063df640227146105b157610173565b80637fdd89f3146103ff5780638da5cb5b1461046d5780638f32d59b14610475578063955648371461047d57806395d89b411461049a578063a22cb465146104a257610173565b80632e1a7d4d116101305780632e1a7d4d146102e757806342842e0e146103045780636352211e1461033a5780636d92ae2d1461035757806370a08231146103d1578063715018a6146103f757610173565b806301ffc9a71461017857806306fdde03146101b3578063081812fc14610230578063095ea7b31461026957806318160ddd1461029757806323b872dd146102b1575b600080fd5b61019f6004803603602081101561018e57600080fd5b50356001600160e01b0319166106e9565b604080519115158252519081900360200190f35b6101bb610708565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f55781810151838201526020016101dd565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024d6004803603602081101561024657600080fd5b5035610729565b604080516001600160a01b039092168252519081900360200190f35b6102956004803603604081101561027f57600080fd5b506001600160a01b038135169060200135610759565b005b61029f610806565b60408051918252519081900360200190f35b610295600480360360608110156102c757600080fd5b506001600160a01b0381358116916020810135909116906040013561080c565b610295600480360360208110156102fd57600080fd5b503561082f565b6102956004803603606081101561031a57600080fd5b506001600160a01b03813581169160208101359091169060400135610871565b61024d6004803603602081101561035057600080fd5b503561088c565b6102956004803603606081101561036d57600080fd5b813591602081013591810190606081016040820135600160201b81111561039357600080fd5b8201836020820111156103a557600080fd5b803590602001918460208302840111600160201b831117156103c657600080fd5b5090925090506108b4565b61029f600480360360208110156103e757600080fd5b50356001600160a01b0316610945565b610295610976565b6102956004803603602081101561041557600080fd5b810190602081018135600160201b81111561042f57600080fd5b82018360208201111561044157600080fd5b803590602001918460018302840111600160201b8311171561046257600080fd5b5090925090506109d1565b61024d6109ee565b61019f6109fd565b61029f6004803603602081101561049357600080fd5b5035610a0e565b6101bb610a2f565b610295600480360360408110156104b857600080fd5b506001600160a01b0381351690602001351515610a4d565b610295600480360360808110156104e657600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561052057600080fd5b82018360208201111561053257600080fd5b803590602001918460018302840111600160201b8311171561055357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ad1945050505050565b6101bb600480360360208110156105aa57600080fd5b5035610af6565b610295600480360360208110156105c757600080fd5b810190602081018135600160201b8111156105e157600080fd5b8201836020820111156105f357600080fd5b803590602001918460018302840111600160201b8311171561061457600080fd5b509092509050610d78565b6102956004803603602081101561063557600080fd5b810190602081018135600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610d95565b6101bb610db2565b61019f600480360360408110156106ab57600080fd5b506001600160a01b0381358116916020013516610e48565b610295600480360360208110156106d957600080fd5b50356001600160a01b0316610e76565b6001600160e01b03191660009081526001602052604090205460ff1690565b60606040518060600160405280602281526020016114776022913990505b90565b600061073482610e93565b61073d57600080fd5b506000908152600360205260409020546001600160a01b031690565b60006107648261088c565b9050806001600160a01b0316836001600160a01b0316141561078557600080fd5b336001600160a01b03821614806107a157506107a18133610e48565b6107aa57600080fd5b60008281526003602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60095490565b6108163382610eb0565b61081f57600080fd5b61082a838383610f22565b505050565b6108376109fd565b61084057600080fd5b604051339082156108fc029083906000818181858888f1935050505015801561086d573d6000803e3d6000fd5b5050565b61082a83838360405180602001604052806000815250610ad1565b6000818152600260205260408120546001600160a01b0316806108ae57600080fd5b92915050565b6108bc6109fd565b6108c557600080fd5b60095484146108d357600080fd5b8281146108df57600080fd5b60005b8381101561093e57600980549081906108fe9060018301611388565b5083838381811061090b57fe5b905060200201356009828154811061091f57fe5b6000918252602090912001556109353382610fe1565b506001016108e2565b5050505050565b60006001600160a01b03821661095a57600080fd5b506001600160a01b031660009081526004602052604090205490565b61097e6109fd565b61098757600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6109d96109fd565b6109e257600080fd5b61082a600883836113ac565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b600060098281548110610a1d57fe5b90600052602060002001549050919050565b6040805180820190915260048152634643494360e01b602082015290565b6001600160a01b038216331415610a6357600080fd5b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610adb3383610eb0565b610ae457600080fd5b610af084848484611073565b50505050565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152606093849391929091830182828015610b835780601f10610b5857610100808354040283529160200191610b83565b820191906000526020600020905b815481529060010190602001808311610b6657829003601f168201915b505083516008805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529798509296606096509450909250830182828015610c195780601f10610bee57610100808354040283529160200191610c19565b820191906000526020600020905b815481529060010190602001808311610bfc57829003601f168201915b5050835193945060019250889150505b600a8110610c415760019190910190600a9004610c29565b606083838701016040519080825280601f01601f191660200182016040528015610c72576020820181803883390190505b50905060005b86811015610cc257878181518110610c8c57fe5b602001015160f81c60f81b828281518110610ca357fe5b60200101906001600160f81b031916908160001a905350600101610c78565b5088915060005b83811015610d19576000600a840660300190508060f81b8383600101878b010381518110610cf357fe5b60200101906001600160f81b031916908160001a905350600a8404935050600101610cc9565b5060005b84811015610d6b57858181518110610d3157fe5b602001015160f81c60f81b8282868a010181518110610d4c57fe5b60200101906001600160f81b031916908160001a905350600101610d1d565b5098975050505050505050565b610d806109fd565b610d8957600080fd5b61082a600783836113ac565b610d9d6109fd565b610da657600080fd5b61082a600683836113ac565b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e3e5780601f10610e1357610100808354040283529160200191610e3e565b820191906000526020600020905b815481529060010190602001808311610e2157829003601f168201915b5050505050905090565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610e7e6109fd565b610e8757600080fd5b610e9081611093565b50565b6000908152600260205260409020546001600160a01b0316151590565b6000610ebb82610e93565b610ec457600080fd5b6000610ecf8361088c565b9050806001600160a01b0316846001600160a01b03161480610f0a5750836001600160a01b0316610eff84610729565b6001600160a01b0316145b80610f1a5750610f1a8185610e48565b949350505050565b826001600160a01b0316610f358261088c565b6001600160a01b031614610f4857600080fd5b6001600160a01b038216610f5b57600080fd5b610f6481611101565b6001600160a01b038084166000818152600460209081526040808320805460001901905593861680835284832080546001019055858352600290915283822080546001600160a01b031916821790559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610ff457600080fd5b610ffd81610e93565b1561100757600080fd5b600081815260026020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600490925280832080546001019055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61107e848484610f22565b61108a8484848461113c565b610af057600080fd5b6001600160a01b0381166110a657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600360205260409020546001600160a01b031615610e9057600090815260036020526040902080546001600160a01b0319169055565b60006111478461134f565b61115357506001610f1a565b60405133602482018181526001600160a01b03888116604485015260648401879052608060848501908152865160a48601528651600095606095938b1694630a85bd0160e11b94938d938c938c93929160c49091019060208501908083838f5b838110156111cb5781810151838201526020016111b3565b50505050905090810190601f1680156111f85780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b602083106112605780518252601f199092019160209182019101611241565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112c2576040519150601f19603f3d011682016040523d82523d6000602084013e6112c7565b606091505b509150915081611318578051156112e15780518082602001fd5b60405162461bcd60e51b81526004018080602001828103825260328152602001806114456032913960400191505060405180910390fd5b600081806020019051602081101561132f57600080fd5b50516001600160e01b031916630a85bd0160e11b149350610f1a92505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610f1a575050151592915050565b81548183558181111561082a5760008381526020902061082a91810190830161142a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113ed5782800160ff1982351617855561141a565b8280016001018555821561141a579182015b8281111561141a5782358255916020019190600101906113ff565b5061142692915061142a565b5090565b61072691905b80821115611426576000815560010161143056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572466f757220436861726163746572204964696f6d6174696320436f6d706f756e6473a265627a7a7231582072c1e510ba7d3dc33f77899c240f24e951491a96ae33abd4477cc0c4ee71d47c64736f6c6343000510003268747470733a2f2f68616b756d61692d696964612e73332d61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f666369632f636f6e74726163742e6a736f6e68747470733a2f2f68616b756d61692d696964612e73332d61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f666369632f6a736f6e2f6d6574615f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80637fdd89f3116100de578063b88d4fde11610097578063df95ec2a11610071578063df95ec2a1461061f578063e8a3d4851461068d578063e985e9c514610695578063f2fde38b146106c357610173565b8063b88d4fde146104d0578063c87b56dd14610594578063df640227146105b157610173565b80637fdd89f3146103ff5780638da5cb5b1461046d5780638f32d59b14610475578063955648371461047d57806395d89b411461049a578063a22cb465146104a257610173565b80632e1a7d4d116101305780632e1a7d4d146102e757806342842e0e146103045780636352211e1461033a5780636d92ae2d1461035757806370a08231146103d1578063715018a6146103f757610173565b806301ffc9a71461017857806306fdde03146101b3578063081812fc14610230578063095ea7b31461026957806318160ddd1461029757806323b872dd146102b1575b600080fd5b61019f6004803603602081101561018e57600080fd5b50356001600160e01b0319166106e9565b604080519115158252519081900360200190f35b6101bb610708565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f55781810151838201526020016101dd565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024d6004803603602081101561024657600080fd5b5035610729565b604080516001600160a01b039092168252519081900360200190f35b6102956004803603604081101561027f57600080fd5b506001600160a01b038135169060200135610759565b005b61029f610806565b60408051918252519081900360200190f35b610295600480360360608110156102c757600080fd5b506001600160a01b0381358116916020810135909116906040013561080c565b610295600480360360208110156102fd57600080fd5b503561082f565b6102956004803603606081101561031a57600080fd5b506001600160a01b03813581169160208101359091169060400135610871565b61024d6004803603602081101561035057600080fd5b503561088c565b6102956004803603606081101561036d57600080fd5b813591602081013591810190606081016040820135600160201b81111561039357600080fd5b8201836020820111156103a557600080fd5b803590602001918460208302840111600160201b831117156103c657600080fd5b5090925090506108b4565b61029f600480360360208110156103e757600080fd5b50356001600160a01b0316610945565b610295610976565b6102956004803603602081101561041557600080fd5b810190602081018135600160201b81111561042f57600080fd5b82018360208201111561044157600080fd5b803590602001918460018302840111600160201b8311171561046257600080fd5b5090925090506109d1565b61024d6109ee565b61019f6109fd565b61029f6004803603602081101561049357600080fd5b5035610a0e565b6101bb610a2f565b610295600480360360408110156104b857600080fd5b506001600160a01b0381351690602001351515610a4d565b610295600480360360808110156104e657600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561052057600080fd5b82018360208201111561053257600080fd5b803590602001918460018302840111600160201b8311171561055357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ad1945050505050565b6101bb600480360360208110156105aa57600080fd5b5035610af6565b610295600480360360208110156105c757600080fd5b810190602081018135600160201b8111156105e157600080fd5b8201836020820111156105f357600080fd5b803590602001918460018302840111600160201b8311171561061457600080fd5b509092509050610d78565b6102956004803603602081101561063557600080fd5b810190602081018135600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610d95565b6101bb610db2565b61019f600480360360408110156106ab57600080fd5b506001600160a01b0381358116916020013516610e48565b610295600480360360208110156106d957600080fd5b50356001600160a01b0316610e76565b6001600160e01b03191660009081526001602052604090205460ff1690565b60606040518060600160405280602281526020016114776022913990505b90565b600061073482610e93565b61073d57600080fd5b506000908152600360205260409020546001600160a01b031690565b60006107648261088c565b9050806001600160a01b0316836001600160a01b0316141561078557600080fd5b336001600160a01b03821614806107a157506107a18133610e48565b6107aa57600080fd5b60008281526003602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60095490565b6108163382610eb0565b61081f57600080fd5b61082a838383610f22565b505050565b6108376109fd565b61084057600080fd5b604051339082156108fc029083906000818181858888f1935050505015801561086d573d6000803e3d6000fd5b5050565b61082a83838360405180602001604052806000815250610ad1565b6000818152600260205260408120546001600160a01b0316806108ae57600080fd5b92915050565b6108bc6109fd565b6108c557600080fd5b60095484146108d357600080fd5b8281146108df57600080fd5b60005b8381101561093e57600980549081906108fe9060018301611388565b5083838381811061090b57fe5b905060200201356009828154811061091f57fe5b6000918252602090912001556109353382610fe1565b506001016108e2565b5050505050565b60006001600160a01b03821661095a57600080fd5b506001600160a01b031660009081526004602052604090205490565b61097e6109fd565b61098757600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6109d96109fd565b6109e257600080fd5b61082a600883836113ac565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b600060098281548110610a1d57fe5b90600052602060002001549050919050565b6040805180820190915260048152634643494360e01b602082015290565b6001600160a01b038216331415610a6357600080fd5b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610adb3383610eb0565b610ae457600080fd5b610af084848484611073565b50505050565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152606093849391929091830182828015610b835780601f10610b5857610100808354040283529160200191610b83565b820191906000526020600020905b815481529060010190602001808311610b6657829003601f168201915b505083516008805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529798509296606096509450909250830182828015610c195780601f10610bee57610100808354040283529160200191610c19565b820191906000526020600020905b815481529060010190602001808311610bfc57829003601f168201915b5050835193945060019250889150505b600a8110610c415760019190910190600a9004610c29565b606083838701016040519080825280601f01601f191660200182016040528015610c72576020820181803883390190505b50905060005b86811015610cc257878181518110610c8c57fe5b602001015160f81c60f81b828281518110610ca357fe5b60200101906001600160f81b031916908160001a905350600101610c78565b5088915060005b83811015610d19576000600a840660300190508060f81b8383600101878b010381518110610cf357fe5b60200101906001600160f81b031916908160001a905350600a8404935050600101610cc9565b5060005b84811015610d6b57858181518110610d3157fe5b602001015160f81c60f81b8282868a010181518110610d4c57fe5b60200101906001600160f81b031916908160001a905350600101610d1d565b5098975050505050505050565b610d806109fd565b610d8957600080fd5b61082a600783836113ac565b610d9d6109fd565b610da657600080fd5b61082a600683836113ac565b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610e3e5780601f10610e1357610100808354040283529160200191610e3e565b820191906000526020600020905b815481529060010190602001808311610e2157829003601f168201915b5050505050905090565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610e7e6109fd565b610e8757600080fd5b610e9081611093565b50565b6000908152600260205260409020546001600160a01b0316151590565b6000610ebb82610e93565b610ec457600080fd5b6000610ecf8361088c565b9050806001600160a01b0316846001600160a01b03161480610f0a5750836001600160a01b0316610eff84610729565b6001600160a01b0316145b80610f1a5750610f1a8185610e48565b949350505050565b826001600160a01b0316610f358261088c565b6001600160a01b031614610f4857600080fd5b6001600160a01b038216610f5b57600080fd5b610f6481611101565b6001600160a01b038084166000818152600460209081526040808320805460001901905593861680835284832080546001019055858352600290915283822080546001600160a01b031916821790559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610ff457600080fd5b610ffd81610e93565b1561100757600080fd5b600081815260026020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600490925280832080546001019055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61107e848484610f22565b61108a8484848461113c565b610af057600080fd5b6001600160a01b0381166110a657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600360205260409020546001600160a01b031615610e9057600090815260036020526040902080546001600160a01b0319169055565b60006111478461134f565b61115357506001610f1a565b60405133602482018181526001600160a01b03888116604485015260648401879052608060848501908152865160a48601528651600095606095938b1694630a85bd0160e11b94938d938c938c93929160c49091019060208501908083838f5b838110156111cb5781810151838201526020016111b3565b50505050905090810190601f1680156111f85780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b602083106112605780518252601f199092019160209182019101611241565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112c2576040519150601f19603f3d011682016040523d82523d6000602084013e6112c7565b606091505b509150915081611318578051156112e15780518082602001fd5b60405162461bcd60e51b81526004018080602001828103825260328152602001806114456032913960400191505060405180910390fd5b600081806020019051602081101561132f57600080fd5b50516001600160e01b031916630a85bd0160e11b149350610f1a92505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610f1a575050151592915050565b81548183558181111561082a5760008381526020902061082a91810190830161142a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113ed5782800160ff1982351617855561141a565b8280016001018555821561141a579182015b8281111561141a5782358255916020019190600101906113ff565b5061142692915061142a565b5090565b61072691905b80821115611426576000815560010161143056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572466f757220436861726163746572204964696f6d6174696320436f6d706f756e6473a265627a7a7231582072c1e510ba7d3dc33f77899c240f24e951491a96ae33abd4477cc0c4ee71d47c64736f6c63430005100032

Deployed Bytecode Sourcemap

8291:2914:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8291:2914:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1427:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1427:135:0;-1:-1:-1;;;;;;1427:135:0;;:::i;:::-;;;;;;;;;;;;;;;;;;9146:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9146:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4110:156;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4110:156:0;;:::i;:::-;;;;-1:-1:-1;;;;;4110:156:0;;;;;;;;;;;;;;3803:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3803:299:0;;;;;;;;:::i;:::-;;10486:97;;;:::i;:::-;;;;;;;;;;;;;;;;4656:184;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4656:184:0;;;;;;;;;;;;;;;;;:::i;11101:101::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11101:101:0;;:::i;4848:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4848:134:0;;;;;;;;;;;;;;;;;:::i;3612:183::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3612:183:0;;:::i;10708:385::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10708:385:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;10708:385:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10708:385:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;10708:385:0;;-1:-1:-1;10708:385:0;-1:-1:-1;10708:385:0;:::i;3449:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3449:155:0;-1:-1:-1;;;;;3449:155:0;;:::i;608:140::-;;;:::i;8924:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8924:109:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8924:109:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8924:109:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;8924:109:0;;-1:-1:-1;8924:109:0;-1:-1:-1;8924:109:0;:::i;343:79::-;;;:::i;508:92::-;;;:::i;10591:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10591:109:0;;:::i;9258:76::-;;;:::i;4274:219::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4274:219:0;;;;;;;;;;:::i;4990:217::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;4990:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4990:217:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4990:217:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4990:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4990:217:0;;-1:-1:-1;4990:217:0;;-1:-1:-1;;;;;4990:217:0:i;9342:937::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9342:937:0;;:::i;8813:105::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8813:105:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8813:105:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8813:105:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;8813:105:0;;-1:-1:-1;8813:105:0;-1:-1:-1;8813:105:0;:::i;9039:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9039:99:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9039:99:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9039:99:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9039:99:0;;-1:-1:-1;9039:99:0;-1:-1:-1;9039:99:0;:::i;10287:94::-;;;:::i;4501:147::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4501:147:0;;;;;;;;;;:::i;756:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;756:109:0;-1:-1:-1;;;;;756:109:0;;:::i;1427:135::-;-1:-1:-1;;;;;;1521:33:0;1497:4;1521:33;;;:20;:33;;;;;;;;;1427:135::o;9146:104::-;9185:13;9201:46;;;;;;;;;;;;;;;;;;;9146:104;;:::o;4110:156::-;4169:7;4197:16;4205:7;4197;:16::i;:::-;4189:25;;;;;;-1:-1:-1;4234:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;4234:24:0;;4110:156::o;3803:299::-;3867:13;3883:16;3891:7;3883;:16::i;:::-;3867:32;;3924:5;-1:-1:-1;;;;;3918:11:0;:2;-1:-1:-1;;;;;3918:11:0;;;3910:20;;;;;;3949:10;-1:-1:-1;;;;;3949:19:0;;;;:58;;;3972:35;3989:5;3996:10;3972:16;:35::i;:::-;3941:67;;;;;;4021:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;4021:29:0;-1:-1:-1;;;;;4021:29:0;;;;;;;;;4066:28;;4021:24;;4066:28;;;;;;;3803:299;;;:::o;10486:97::-;10560:6;:13;10486:97;:::o;4656:184::-;4747:39;4766:10;4778:7;4747:18;:39::i;:::-;4739:48;;;;;;4800:32;4814:4;4820:2;4824:7;4800:13;:32::i;:::-;4656:184;;;:::o;11101:101::-;470:9;:7;:9::i;:::-;462:18;;;;;;11166:28;;:10;;:28;;;;;11187:5;;11166:28;;;;11187:5;11166:10;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11166:28:0;11101:101;:::o;4848:134::-;4935:39;4952:4;4958:2;4962:7;4935:39;;;;;;;;;;;;:16;:39::i;3612:183::-;3667:7;3703:20;;;:11;:20;;;;;;-1:-1:-1;;;;;3703:20:0;3742:19;3734:28;;;;;;3782:5;3612:183;-1:-1:-1;;3612:183:0:o;10708:385::-;470:9;:7;:9::i;:::-;462:18;;;;;;10828:6;:13;10821:20;;10812:31;;;;;;10863:19;;;10854:30;;;;;;10902:9;10897:189;10917:3;10915:1;:5;10897:189;;;10955:6;:13;;;;;10983:15;;;;;;:::i;:::-;;11026:5;;11032:1;11026:8;;;;;;;;;;;;;11013:6;11020:2;11013:10;;;;;;;;;;;;;;;;;:21;11051:23;11058:10;11070:2;11051:5;:23::i;:::-;-1:-1:-1;10922:3:0;;10897:189;;;;10708:385;;;;:::o;3449:155::-;3504:7;-1:-1:-1;;;;;3532:19:0;;3524:28;;;;;;-1:-1:-1;;;;;;3572:24:0;;;;;:17;:24;;;;;;;3449:155::o;608:140::-;470:9;:7;:9::i;:::-;462:18;;;;;;707:1;691:6;;670:40;;-1:-1:-1;;;;;691:6:0;;;;670:40;;707:1;;670:40;738:1;721:19;;-1:-1:-1;;;;;;721:19:0;;;608:140::o;8924:109::-;470:9;:7;:9::i;:::-;462:18;;;;;;9001:29;:19;9023:7;;9001:29;:::i;343:79::-;381:7;408:6;-1:-1:-1;;;;;408:6:0;343:79;:::o;508:92::-;548:4;586:6;-1:-1:-1;;;;;586:6:0;572:10;:20;;508:92::o;10591:109::-;10647:7;10675:6;10682:7;10675:15;;;;;;;;;;;;;;;;10667:25;;10591:109;;;:::o;9258:76::-;9315:16;;;;;;;;;;;;-1:-1:-1;;;9315:16:0;;;;9258:76;:::o;4274:219::-;-1:-1:-1;;;;;4354:16:0;;4360:10;4354:16;;4346:25;;;;;;4403:10;4384:30;;;;:18;:30;;;;;;;;-1:-1:-1;;;;;4384:34:0;;;;;;;;;;;;:45;;-1:-1:-1;;4384:45:0;;;;;;;;;;4445:40;;;;;;;4384:34;;4403:10;4445:40;;;;;;;;;;;4274:219;;:::o;4990:217::-;5105:39;5124:10;5136:7;5105:18;:39::i;:::-;5097:48;;;;;;5156:43;5174:4;5180:2;5184:7;5193:5;5156:17;:43::i;:::-;4990:217;;;;:::o;9342:937::-;9456:18;9427:49;;;;;;;;;;;;;-1:-1:-1;;9427:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;9402:13;;;;9427:49;;9456:18;;9427:49;;9456:18;9427:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9504:13:0;;9560:19;9530:51;;;;;;;;;;;;;-1:-1:-1;;9530:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;9504:13;;-1:-1:-1;9504:13:0;;9530:20;;-1:-1:-1;9530:51:0;-1:-1:-1;9560:19:0;;-1:-1:-1;9530:51:0;;9560:19;9530:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9610:14:0;;9530:51;;-1:-1:-1;9651:1:0;;-1:-1:-1;9678:7:0;;-1:-1:-1;;9696:82:0;9711:2;9703:4;:10;9696:82;;9761:5;;;;;;9744:2;9737:9;;9696:82;;;9790:16;9834:7;9828:3;9819:6;:12;:22;9809:33;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;9809:33:0;87:34:-1;135:17;;-1:-1;9809:33:0;-1:-1:-1;9790:52:0;-1:-1:-1;9860:9:0;9855:78;9875:6;9873:1;:8;9855:78;;;9912:6;9919:1;9912:9;;;;;;;;;;;;;;;;9903:3;9907:1;9903:6;;;;;;;;;;;:18;-1:-1:-1;;;;;9903:18:0;;;;;;;;-1:-1:-1;9883:3:0;;9855:78;;;-1:-1:-1;9952:7:0;;-1:-1:-1;9975:9:0;9970:161;9990:3;9988:1;:5;9970:161;;;10015:7;10042:2;10037:4;:7;10031:2;:14;10015:31;;10092:1;10087:7;;10061:3;10079:1;10081;10079:3;10074;10065:6;:12;:18;10061:23;;;;;;;;;;;:33;-1:-1:-1;;;;;10061:33:0;;;;;;;;-1:-1:-1;10117:2:0;10109:10;;;-1:-1:-1;;9995:3:0;;9970:161;;;-1:-1:-1;10148:9:0;10143:95;10163:7;10161:1;:9;10143:95;;;10216:7;10224:1;10216:10;;;;;;;;;;;;;;;;10192:3;10211:1;10205:3;10196:6;:12;:16;10192:21;;;;;;;;;;;:34;-1:-1:-1;;;;;10192:34:0;;;;;;;;-1:-1:-1;10172:3:0;;10143:95;;;-1:-1:-1;10265:3:0;9342:937;-1:-1:-1;;;;;;;;9342:937:0:o;8813:105::-;470:9;:7;:9::i;:::-;462:18;;;;;;8888:27;:18;8909:6;;8888:27;:::i;9039:99::-;470:9;:7;:9::i;:::-;462:18;;;;;;9111:24;:18;9132:3;;9111:24;:::i;10287:94::-;10358:18;10350:28;;;;;;;;-1:-1:-1;;10350:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10333:13;;10350:28;;10358:18;;10350:28;;10358:18;10350:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10287:94;:::o;4501:147::-;-1:-1:-1;;;;;4605:25:0;;;4581:4;4605:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4501:147::o;756:109::-;470:9;:7;:9::i;:::-;462:18;;;;;;829:28;848:8;829:18;:28::i;:::-;756:109;:::o;5441:155::-;5498:4;5531:20;;;:11;:20;;;;;;-1:-1:-1;;;;;5531:20:0;5569:19;;;5441:155::o;5604:285::-;5689:4;5714:16;5722:7;5714;:16::i;:::-;5706:25;;;;;;5742:13;5758:16;5766:7;5758;:16::i;:::-;5742:32;;5804:5;-1:-1:-1;;;;;5793:16:0;:7;-1:-1:-1;;;;;5793:16:0;;:51;;;;5837:7;-1:-1:-1;;;;;5813:31:0;:20;5825:7;5813:11;:20::i;:::-;-1:-1:-1;;;;;5813:31:0;;5793:51;:87;;;;5848:32;5865:5;5872:7;5848:16;:32::i;:::-;5785:96;5604:285;-1:-1:-1;;;;5604:285:0:o;6468:354::-;6582:4;-1:-1:-1;;;;;6562:24:0;:16;6570:7;6562;:16::i;:::-;-1:-1:-1;;;;;6562:24:0;;6554:33;;;;;;-1:-1:-1;;;;;6606:16:0;;6598:25;;;;;;6636:23;6651:7;6636:14;:23::i;:::-;-1:-1:-1;;;;;6672:23:0;;;;;;;:17;:23;;;;;;;;:25;;-1:-1:-1;;6672:25:0;;;6708:21;;;;;;;;;:23;;6672:25;6708:23;;;6744:20;;;:11;:20;;;;;;:25;;-1:-1:-1;;;;;;6744:25:0;;;;;6787:27;;6756:7;;6708:21;6672:23;6787:27;;;6468:354;;;:::o;6203:257::-;-1:-1:-1;;;;;6275:16:0;;6267:25;;;;;;6312:16;6320:7;6312;:16::i;:::-;6311:17;6303:26;;;;;;6342:20;;;;:11;:20;;;;;;;;:25;;-1:-1:-1;;;;;;6342:25:0;-1:-1:-1;;;;;6342:25:0;;;;;;;;6378:21;;;:17;:21;;;;;;:23;;-1:-1:-1;6378:23:0;;;6419:33;6342:20;;;6419:33;;6342:20;;6419:33;6203:257;;:::o;5215:218::-;5325:32;5339:4;5345:2;5349:7;5325:13;:32::i;:::-;5376:48;5399:4;5405:2;5409:7;5418:5;5376:22;:48::i;:::-;5368:57;;;;;873:187;-1:-1:-1;;;;;947:22:0;;939:31;;;;;;1007:6;;;986:38;;-1:-1:-1;;;;;986:38:0;;;;1007:6;;;986:38;;;1035:6;:17;;-1:-1:-1;;;;;;1035:17:0;-1:-1:-1;;;;;1035:17:0;;;;;;;;;;873:187::o;7784:175::-;7884:1;7848:24;;;:15;:24;;;;;;-1:-1:-1;;;;;7848:24:0;:38;7844:108;;7938:1;7903:24;;;:15;:24;;;;;:37;;-1:-1:-1;;;;;;7903:37:0;;;7784:175::o;6830:946::-;6943:4;6970:14;6981:2;6970:10;:14::i;:::-;6965:59;;-1:-1:-1;7008:4:0;7001:11;;6965:59;7086:179;;7183:10;7086:179;;;;;;-1:-1:-1;;;;;7086:179:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7037:12;;7051:23;;7078:7;;;;-1:-1:-1;;;7123:45:0;7183:10;7208:4;;7227:7;;7249:5;;7086:179;;;;;;;;;;;;;;7037:12;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7086:179:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7086:179:0;;;-1:-1:-1;;26:21;;;22:32;6:49;;7086:179:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;;7086:179:0;;;179:29:-1;;;;160:49;;7078:188:0;;;7086:179;;7078:188;;-1:-1:-1;7078:188:0;;-1:-1:-1;25:18;-1:-1;7078:188:0;-1:-1:-1;7078:188:0;;-1:-1:-1;7078:188:0;;-1:-1:-1;25:18;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7078:188:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;7036:230:0;;;;7284:7;7279:490;;7312:17;;:21;7308:319;;7415:10;7409:17;7476:15;7463:10;7459:2;7455:19;7448:44;7363:148;7551:60;;-1:-1:-1;;;7551:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7279:490;7659:13;7686:10;7675:32;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7675:32:0;-1:-1:-1;;;;;;7730:26:0;-1:-1:-1;;;7730:26:0;;-1:-1:-1;7722:35:0;;-1:-1:-1;;;7722:35:0;7967:317;8027:4;8193:20;;8093:66;8233:23;;;;;;:42;;-1:-1:-1;;8260:15:0;;;8225:51;-1:-1:-1;;7967:317:0:o;8291:2914::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8291:2914:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8291:2914:0;;;-1:-1:-1;8291:2914:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://72c1e510ba7d3dc33f77899c240f24e951491a96ae33abd4477cc0c4ee71d47c
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.