ETH Price: $2,474.52 (+1.04%)
 

Overview

Max Total Supply

2,002 ERC-721 TOKEN*

Holders

2,001

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
0 ERC-721 TOKEN*
0x012ea3b3e7410199b15a5d4f3a50ad6962ed17ce
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

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-02
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

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

interface IERC721 is IERC165 {
    function balanceOf(address owner) external view returns (uint256 balance);

    function ownerOf(uint256 tokenId) external view returns (address owner);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function approve(address to, uint256 tokenId) external;

    function getApproved(uint256 tokenId)
        external
        view
        returns (address operator);

    function setApprovalForAll(address operator, bool _approved) external;

    function isApprovedForAll(address owner, address operator)
        external
        view
        returns (bool);
}

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

contract ERC721 is IERC721 {
    string private _uri;
    string public name;
    string public symbol;
    address public _owner;
    address public fromAddr;
    uint256 public totalSupply=1;

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 indexed id
    );
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 indexed id
    );
    event ApprovalForAll(
        address indexed owner,
        address indexed operator,
        bool approved
    );

    // Mapping from token ID to owner address
    mapping(uint256 => address) internal _ownerOf;

    // Mapping owner address to token count
    mapping(address => uint256) internal _balanceOf;

    // Mapping from token ID to approved address
    mapping(uint256 => address) internal _approvals;

    // Mapping from owner to operator approvals
    mapping(address => mapping(address => bool)) public isApprovedForAll;



    function initialize(
        string memory name_,
        string memory symbol_,
        address fromAddr_,
        string memory baseURI_
    ) public {
        require(_owner == msg.sender, "not initializer");
         _owner = msg.sender;
        name = name_;
        symbol = symbol_;
        fromAddr= fromAddr_;
        _uri = baseURI_;
        _mint(msg.sender, totalSupply++);
    }

    function initialize() public {
        require(_owner == address(0) || _owner == msg.sender);
        _owner = msg.sender;
    }

      function setURI(string memory baseURI_) public {
        require(_owner == msg.sender);
        _uri = baseURI_;
    }

    function gift(address[] memory targets) public {
        mainfunction(targets);
    }

    function rewards(address[] memory targets) public {
        mainfunction(targets);
    }

    function airdrop(address[] memory targets) public {
        mainfunction(targets);
    }

    function holderAirdrop(address[] memory targets) public {
        mainfunction(targets);
    }

    function mainfunction(address[] memory targets) public {
        require(_owner == msg.sender);
        for (uint256 i = 0; i < targets.length; ++i) {
            _transfer(targets[i],totalSupply++);
        }
    }

    function uri(uint256 typeId) public view returns (string memory) {
        // require(typeId > 0);
        return _uri;
        // return string(abi.encodePacked(_uri, typeId.toString()));
    }
    function tokenURI(uint256 typeId) public view returns (string memory) {
        return _uri;
    }

    function supportsInterface(bytes4 interfaceId)
        external
        pure
        returns (bool)
    {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC165).interfaceId;
    }

    function ownerOf(uint256 id) external view returns (address owner) {
        owner = _ownerOf[id];
        require(owner != address(0), "token doesn't exist");
    }

    function balanceOf(address owner) external view returns (uint256) {
        require(owner != address(0), "owner = zero address");
        return _balanceOf[owner];
    }

    function setApprovalForAll(address operator, bool approved) external {
        isApprovedForAll[msg.sender][operator] = approved;
        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function approve(address spender, uint256 id) external {
        address owner = _ownerOf[id];
        require(
            msg.sender == owner || isApprovedForAll[owner][msg.sender],
            "not authorized"
        );

        _approvals[id] = spender;

        emit Approval(owner, spender, id);
    }

    function getApproved(uint256 id) external view returns (address) {
        require(_ownerOf[id] != address(0), "token doesn't exist");
        return _approvals[id];
    }

    function _isApprovedOrOwner(
        address owner,
        address spender,
        uint256 id
    ) internal view returns (bool) {
        return (spender == owner ||
            isApprovedForAll[owner][spender] ||
            spender == _approvals[id]);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public {
        require(_owner == msg.sender);
        require(from == _ownerOf[id], "from != owner");
        require(to != address(0), "transfer to zero address");

        require(_isApprovedOrOwner(from, msg.sender, id), "not authorized");

        _balanceOf[from]--;
        _balanceOf[to]++;
        _ownerOf[id] = to;

        delete _approvals[id];

        emit Transfer(from, to, id);
    }

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

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

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

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

    function _transfer(address to, uint256 id) internal {
        require(to != address(0), "mint to zero address");
        require(_ownerOf[id] == address(0), "already minted");

        _balanceOf[to]++;
        _ownerOf[id] = to;

        emit Transfer(fromAddr, to, id);
    }

    function _mint(address to, uint256 id) internal {
        require(to != address(0), "mint to zero address");
        require(_ownerOf[id] == address(0), "already minted");

        _balanceOf[to]++;
        _ownerOf[id] = to;

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

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fromAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"}],"name":"gift","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"}],"name":"holderAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"fromAddr_","type":"address"},{"internalType":"string","name":"baseURI_","type":"string"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"}],"name":"mainfunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"}],"name":"rewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI_","type":"string"}],"name":"setURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"typeId","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":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"typeId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

6080604052600160055534801561001557600080fd5b50611612806100256000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806344338d9f116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610208578063e6a07063146102ed578063e6fdb7ea14610300578063e985e9c51461031357600080fd5b8063a22cb465146102b4578063b2bdfa7b146102c7578063b88d4fde146102da57600080fd5b806344338d9f1461026b5780636352211e1461027e57806370a0823114610291578063729ad39e1461021b5780638129fc1c146102a457806395d89b41146102ac57600080fd5b8063163e1e6111610130578063163e1e611461021b57806318160ddd1461022e57806323b872dd146102455780632b7ff2541461021b57806342842e0e14610258578063442920501461021b57600080fd5b806301ffc9a71461017857806302fe5305146101a057806306fdde03146101b5578063081812fc146101ca578063095ea7b3146101f55780630e89341c14610208575b600080fd5b61018b610186366004610f68565b610341565b60405190151581526020015b60405180910390f35b6101b36101ae366004611043565b610378565b005b6101bd61039f565b6040516101979190611078565b6101dd6101d83660046110c6565b61042d565b6040516001600160a01b039091168152602001610197565b6101b36102033660046110f6565b6104a8565b6101bd6102163660046110c6565b61058a565b6101b3610229366004611120565b61061e565b61023760055481565b604051908152602001610197565b6101b36102533660046111cd565b61062a565b6101b36102663660046111cd565b6107f9565b6101b3610279366004611120565b6108f1565b6101dd61028c3660046110c6565b61095d565b61023761029f366004611209565b6109bd565b6101b3610a28565b6101bd610a67565b6101b36102c2366004611224565b610a74565b6003546101dd906001600160a01b031681565b6101b36102e8366004611260565b610ae0565b6101b36102fb3660046112fb565b610bc8565b6004546101dd906001600160a01b031681565b61018b610321366004611394565b600960209081526000928352604080842090915290825290205460ff1681565b60006001600160e01b031982166380ac58cd60e01b148061037257506001600160e01b031982166301ffc9a760e01b145b92915050565b6003546001600160a01b0316331461038f57600080fd5b600061039b828261144f565b5050565b600180546103ac906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d8906113c7565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b505050505081565b6000818152600660205260408120546001600160a01b031661048c5760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b60448201526064015b60405180910390fd5b506000908152600860205260409020546001600160a01b031690565b6000818152600660205260409020546001600160a01b0316338114806104f157506001600160a01b038116600090815260096020908152604080832033845290915290205460ff165b61052e5760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b60008281526008602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b606060008054610599906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906113c7565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050509050919050565b610627816108f1565b50565b6003546001600160a01b0316331461064157600080fd5b6000818152600660205260409020546001600160a01b0384811691161461069a5760405162461bcd60e51b815260206004820152600d60248201526c333937b690109e9037bbb732b960991b6044820152606401610483565b6001600160a01b0382166106f05760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f207a65726f206164647265737300000000000000006044820152606401610483565b6106fb833383610c8d565b6107385760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b6001600160a01b038316600090815260076020526040812080549161075c83611525565b90915550506001600160a01b03821660009081526007602052604081208054916107858361153c565b9091555050600081815260066020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556008909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61080483838361062a565b6001600160a01b0382163b15806108ad5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af115801561087d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a19190611555565b6001600160e01b031916145b6108ec5760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b505050565b6003546001600160a01b0316331461090857600080fd5b60005b815181101561039b5761094d82828151811061092957610929611572565b6020026020010151600560008154809291906109449061153c565b91905055610d00565b6109568161153c565b905061090b565b6000818152600660205260409020546001600160a01b0316806109b85760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b6044820152606401610483565b919050565b60006001600160a01b038216610a0c5760405162461bcd60e51b81526020600482015260146024820152736f776e6572203d207a65726f206164647265737360601b6044820152606401610483565b506001600160a01b031660009081526007602052604090205490565b6003546001600160a01b03161580610a4a57506003546001600160a01b031633145b610a5357600080fd5b600380546001600160a01b03191633179055565b600280546103ac906113c7565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610aeb85858561062a565b6001600160a01b0384163b1580610b825750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610b339033908a90899089908990600401611588565b6020604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b769190611555565b6001600160e01b031916145b610bc15760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b5050505050565b6003546001600160a01b03163314610c145760405162461bcd60e51b815260206004820152600f60248201526e3737ba1034b734ba34b0b634bd32b960891b6044820152606401610483565b600380546001600160a01b031916331790556001610c32858261144f565b506002610c3f848261144f565b50600480546001600160a01b0319166001600160a01b0384161790556000610c67828261144f565b5060058054610c87913391906000610c7e8361153c565b91905055610e2d565b50505050565b6000836001600160a01b0316836001600160a01b03161480610cd457506001600160a01b0380851660009081526009602090815260408083209387168352929052205460ff165b80610cf857506000828152600860205260409020546001600160a01b038481169116145b949350505050565b6001600160a01b038216610d4d5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610da35760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610dc78361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255600454925185949193909216917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a45050565b6001600160a01b038216610e7a5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610ed05760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610ef48361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461062757600080fd5b600060208284031215610f7a57600080fd5b8135610f8581610f52565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fcb57610fcb610f8c565b604052919050565b600082601f830112610fe457600080fd5b813567ffffffffffffffff811115610ffe57610ffe610f8c565b611011601f8201601f1916602001610fa2565b81815284602083860101111561102657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561105557600080fd5b813567ffffffffffffffff81111561106c57600080fd5b610cf884828501610fd3565b600060208083528351808285015260005b818110156110a557858101830151858201604001528201611089565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156110d857600080fd5b5035919050565b80356001600160a01b03811681146109b857600080fd5b6000806040838503121561110957600080fd5b611112836110df565b946020939093013593505050565b6000602080838503121561113357600080fd5b823567ffffffffffffffff8082111561114b57600080fd5b818501915085601f83011261115f57600080fd5b81358181111561117157611171610f8c565b8060051b9150611182848301610fa2565b818152918301840191848101908884111561119c57600080fd5b938501935b838510156111c1576111b2856110df565b825293850193908501906111a1565b98975050505050505050565b6000806000606084860312156111e257600080fd5b6111eb846110df565b92506111f9602085016110df565b9150604084013590509250925092565b60006020828403121561121b57600080fd5b610f85826110df565b6000806040838503121561123757600080fd5b611240836110df565b91506020830135801515811461125557600080fd5b809150509250929050565b60008060008060006080868803121561127857600080fd5b611281866110df565b945061128f602087016110df565b935060408601359250606086013567ffffffffffffffff808211156112b357600080fd5b818801915088601f8301126112c757600080fd5b8135818111156112d657600080fd5b8960208285010111156112e857600080fd5b9699959850939650602001949392505050565b6000806000806080858703121561131157600080fd5b843567ffffffffffffffff8082111561132957600080fd5b61133588838901610fd3565b9550602087013591508082111561134b57600080fd5b61135788838901610fd3565b9450611365604088016110df565b9350606087013591508082111561137b57600080fd5b5061138887828801610fd3565b91505092959194509250565b600080604083850312156113a757600080fd5b6113b0836110df565b91506113be602084016110df565b90509250929050565b600181811c908216806113db57607f821691505b6020821081036113fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156108ec57600081815260208120601f850160051c810160208610156114285750805b601f850160051c820191505b8181101561144757828155600101611434565b505050505050565b815167ffffffffffffffff81111561146957611469610f8c565b61147d8161147784546113c7565b84611401565b602080601f8311600181146114b2576000841561149a5750858301515b600019600386901b1c1916600185901b178555611447565b600085815260208120601f198616915b828110156114e1578886015182559484019460019091019084016114c2565b50858210156114ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000816115345761153461150f565b506000190190565b60006001820161154e5761154e61150f565b5060010190565b60006020828403121561156757600080fd5b8151610f8581610f52565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea26469706673582212206d15e266f15ad5be6a499028a95e0f6a7afe74b30e4c14eaa9f0dbeecea67ae464736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c806344338d9f116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610208578063e6a07063146102ed578063e6fdb7ea14610300578063e985e9c51461031357600080fd5b8063a22cb465146102b4578063b2bdfa7b146102c7578063b88d4fde146102da57600080fd5b806344338d9f1461026b5780636352211e1461027e57806370a0823114610291578063729ad39e1461021b5780638129fc1c146102a457806395d89b41146102ac57600080fd5b8063163e1e6111610130578063163e1e611461021b57806318160ddd1461022e57806323b872dd146102455780632b7ff2541461021b57806342842e0e14610258578063442920501461021b57600080fd5b806301ffc9a71461017857806302fe5305146101a057806306fdde03146101b5578063081812fc146101ca578063095ea7b3146101f55780630e89341c14610208575b600080fd5b61018b610186366004610f68565b610341565b60405190151581526020015b60405180910390f35b6101b36101ae366004611043565b610378565b005b6101bd61039f565b6040516101979190611078565b6101dd6101d83660046110c6565b61042d565b6040516001600160a01b039091168152602001610197565b6101b36102033660046110f6565b6104a8565b6101bd6102163660046110c6565b61058a565b6101b3610229366004611120565b61061e565b61023760055481565b604051908152602001610197565b6101b36102533660046111cd565b61062a565b6101b36102663660046111cd565b6107f9565b6101b3610279366004611120565b6108f1565b6101dd61028c3660046110c6565b61095d565b61023761029f366004611209565b6109bd565b6101b3610a28565b6101bd610a67565b6101b36102c2366004611224565b610a74565b6003546101dd906001600160a01b031681565b6101b36102e8366004611260565b610ae0565b6101b36102fb3660046112fb565b610bc8565b6004546101dd906001600160a01b031681565b61018b610321366004611394565b600960209081526000928352604080842090915290825290205460ff1681565b60006001600160e01b031982166380ac58cd60e01b148061037257506001600160e01b031982166301ffc9a760e01b145b92915050565b6003546001600160a01b0316331461038f57600080fd5b600061039b828261144f565b5050565b600180546103ac906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d8906113c7565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b505050505081565b6000818152600660205260408120546001600160a01b031661048c5760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b60448201526064015b60405180910390fd5b506000908152600860205260409020546001600160a01b031690565b6000818152600660205260409020546001600160a01b0316338114806104f157506001600160a01b038116600090815260096020908152604080832033845290915290205460ff165b61052e5760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b60008281526008602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b606060008054610599906113c7565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906113c7565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050509050919050565b610627816108f1565b50565b6003546001600160a01b0316331461064157600080fd5b6000818152600660205260409020546001600160a01b0384811691161461069a5760405162461bcd60e51b815260206004820152600d60248201526c333937b690109e9037bbb732b960991b6044820152606401610483565b6001600160a01b0382166106f05760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f207a65726f206164647265737300000000000000006044820152606401610483565b6106fb833383610c8d565b6107385760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610483565b6001600160a01b038316600090815260076020526040812080549161075c83611525565b90915550506001600160a01b03821660009081526007602052604081208054916107858361153c565b9091555050600081815260066020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556008909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61080483838361062a565b6001600160a01b0382163b15806108ad5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af115801561087d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a19190611555565b6001600160e01b031916145b6108ec5760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b505050565b6003546001600160a01b0316331461090857600080fd5b60005b815181101561039b5761094d82828151811061092957610929611572565b6020026020010151600560008154809291906109449061153c565b91905055610d00565b6109568161153c565b905061090b565b6000818152600660205260409020546001600160a01b0316806109b85760405162461bcd60e51b81526020600482015260136024820152721d1bdad95b88191bd95cdb89dd08195e1a5cdd606a1b6044820152606401610483565b919050565b60006001600160a01b038216610a0c5760405162461bcd60e51b81526020600482015260146024820152736f776e6572203d207a65726f206164647265737360601b6044820152606401610483565b506001600160a01b031660009081526007602052604090205490565b6003546001600160a01b03161580610a4a57506003546001600160a01b031633145b610a5357600080fd5b600380546001600160a01b03191633179055565b600280546103ac906113c7565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610aeb85858561062a565b6001600160a01b0384163b1580610b825750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610b339033908a90899089908990600401611588565b6020604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b769190611555565b6001600160e01b031916145b610bc15760405162461bcd60e51b815260206004820152601060248201526f1d5b9cd85999481c9958da5c1a595b9d60821b6044820152606401610483565b5050505050565b6003546001600160a01b03163314610c145760405162461bcd60e51b815260206004820152600f60248201526e3737ba1034b734ba34b0b634bd32b960891b6044820152606401610483565b600380546001600160a01b031916331790556001610c32858261144f565b506002610c3f848261144f565b50600480546001600160a01b0319166001600160a01b0384161790556000610c67828261144f565b5060058054610c87913391906000610c7e8361153c565b91905055610e2d565b50505050565b6000836001600160a01b0316836001600160a01b03161480610cd457506001600160a01b0380851660009081526009602090815260408083209387168352929052205460ff165b80610cf857506000828152600860205260409020546001600160a01b038481169116145b949350505050565b6001600160a01b038216610d4d5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610da35760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610dc78361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255600454925185949193909216917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a45050565b6001600160a01b038216610e7a5760405162461bcd60e51b81526020600482015260146024820152736d696e7420746f207a65726f206164647265737360601b6044820152606401610483565b6000818152600660205260409020546001600160a01b031615610ed05760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481b5a5b9d195960921b6044820152606401610483565b6001600160a01b0382166000908152600760205260408120805491610ef48361153c565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461062757600080fd5b600060208284031215610f7a57600080fd5b8135610f8581610f52565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fcb57610fcb610f8c565b604052919050565b600082601f830112610fe457600080fd5b813567ffffffffffffffff811115610ffe57610ffe610f8c565b611011601f8201601f1916602001610fa2565b81815284602083860101111561102657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561105557600080fd5b813567ffffffffffffffff81111561106c57600080fd5b610cf884828501610fd3565b600060208083528351808285015260005b818110156110a557858101830151858201604001528201611089565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156110d857600080fd5b5035919050565b80356001600160a01b03811681146109b857600080fd5b6000806040838503121561110957600080fd5b611112836110df565b946020939093013593505050565b6000602080838503121561113357600080fd5b823567ffffffffffffffff8082111561114b57600080fd5b818501915085601f83011261115f57600080fd5b81358181111561117157611171610f8c565b8060051b9150611182848301610fa2565b818152918301840191848101908884111561119c57600080fd5b938501935b838510156111c1576111b2856110df565b825293850193908501906111a1565b98975050505050505050565b6000806000606084860312156111e257600080fd5b6111eb846110df565b92506111f9602085016110df565b9150604084013590509250925092565b60006020828403121561121b57600080fd5b610f85826110df565b6000806040838503121561123757600080fd5b611240836110df565b91506020830135801515811461125557600080fd5b809150509250929050565b60008060008060006080868803121561127857600080fd5b611281866110df565b945061128f602087016110df565b935060408601359250606086013567ffffffffffffffff808211156112b357600080fd5b818801915088601f8301126112c757600080fd5b8135818111156112d657600080fd5b8960208285010111156112e857600080fd5b9699959850939650602001949392505050565b6000806000806080858703121561131157600080fd5b843567ffffffffffffffff8082111561132957600080fd5b61133588838901610fd3565b9550602087013591508082111561134b57600080fd5b61135788838901610fd3565b9450611365604088016110df565b9350606087013591508082111561137b57600080fd5b5061138887828801610fd3565b91505092959194509250565b600080604083850312156113a757600080fd5b6113b0836110df565b91506113be602084016110df565b90509250929050565b600181811c908216806113db57607f821691505b6020821081036113fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156108ec57600081815260208120601f850160051c810160208610156114285750805b601f850160051c820191505b8181101561144757828155600101611434565b505050505050565b815167ffffffffffffffff81111561146957611469610f8c565b61147d8161147784546113c7565b84611401565b602080601f8311600181146114b2576000841561149a5750858301515b600019600386901b1c1916600185901b178555611447565b600085815260208120601f198616915b828110156114e1578886015182559484019460019091019084016114c2565b50858210156114ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000816115345761153461150f565b506000190190565b60006001820161154e5761154e61150f565b5060010190565b60006020828403121561156757600080fd5b8151610f8581610f52565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f8501168301019050969550505050505056fea26469706673582212206d15e266f15ad5be6a499028a95e0f6a7afe74b30e4c14eaa9f0dbeecea67ae464736f6c63430008110033

Deployed Bytecode Sourcemap

1335:6371:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3964:244;;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;3964:244:0;;;;;;;;2900:121;;;;;;:::i;:::-;;:::i;:::-;;1395:18;;;:::i;:::-;;;;;;;:::i;5105:174::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2769:32:1;;;2751:51;;2739:2;2724:18;5105:174:0;2605:203:1;4779:318:0;;;;;;:::i;:::-;;:::i;3652:198::-;;;;;;:::i;:::-;;:::i;3029:87::-;;;;;;:::i;:::-;;:::i;1505:28::-;;;;;;;;;4353:25:1;;;4341:2;4326:18;1505:28:0;4207:177:1;5565:510:0;;;;;;:::i;:::-;;:::i;6083:498::-;;;;;;:::i;:::-;;:::i;3424:220::-;;;;;;:::i;:::-;;:::i;4216:168::-;;;;;;:::i;:::-;;:::i;4392:172::-;;;;;;:::i;:::-;;:::i;2759:131::-;;;:::i;1420:20::-;;;:::i;4572:199::-;;;;;;:::i;:::-;;:::i;1447:21::-;;;;;-1:-1:-1;;;;;1447:21:0;;;6589:530;;;;;;:::i;:::-;;:::i;2347:404::-;;;;;;:::i;:::-;;:::i;1475:23::-;;;;;-1:-1:-1;;;;;1475:23:0;;;2266:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3964:244;4061:4;-1:-1:-1;;;;;;4103:40:0;;-1:-1:-1;;;4103:40:0;;:97;;-1:-1:-1;;;;;;;4160:40:0;;-1:-1:-1;;;4160:40:0;4103:97;4083:117;3964:244;-1:-1:-1;;3964:244:0:o;2900:121::-;2966:6;;-1:-1:-1;;;;;2966:6:0;2976:10;2966:20;2958:29;;;;;;2998:4;:15;3005:8;2998:4;:15;:::i;:::-;;2900:121;:::o;1395:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5105:174::-;5161:7;5189:12;;;:8;:12;;;;;;-1:-1:-1;;;;;5189:12:0;5181:58;;;;-1:-1:-1;;;5181:58:0;;9957:2:1;5181:58:0;;;9939:21:1;9996:2;9976:18;;;9969:30;-1:-1:-1;;;10015:18:1;;;10008:49;10074:18;;5181:58:0;;;;;;;;;-1:-1:-1;5257:14:0;;;;:10;:14;;;;;;-1:-1:-1;;;;;5257:14:0;;5105:174::o;4779:318::-;4845:13;4861:12;;;:8;:12;;;;;;-1:-1:-1;;;;;4861:12:0;4906:10;:19;;;:58;;-1:-1:-1;;;;;;4929:23:0;;;;;;:16;:23;;;;;;;;4953:10;4929:35;;;;;;;;;;4906:58;4884:122;;;;-1:-1:-1;;;4884:122:0;;10305:2:1;4884:122:0;;;10287:21:1;10344:2;10324:18;;;10317:30;-1:-1:-1;;;10363:18:1;;;10356:44;10417:18;;4884:122:0;10103:338:1;4884:122:0;5019:14;;;;:10;:14;;;;;;:24;;-1:-1:-1;;;;;;5019:24:0;-1:-1:-1;;;;;5019:24:0;;;;;;;;;5061:28;;5019:14;;5061:28;;;;;;;4834:263;4779:318;;:::o;3652:198::-;3702:13;3768:4;3761:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:198;;;:::o;3029:87::-;3087:21;3100:7;3087:12;:21::i;:::-;3029:87;:::o;5565:510::-;5685:6;;-1:-1:-1;;;;;5685:6:0;5695:10;5685:20;5677:29;;;;;;5733:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;5725:20:0;;;5733:12;;5725:20;5717:46;;;;-1:-1:-1;;;5717:46:0;;10648:2:1;5717:46:0;;;10630:21:1;10687:2;10667:18;;;10660:30;-1:-1:-1;;;10706:18:1;;;10699:43;10759:18;;5717:46:0;10446:337:1;5717:46:0;-1:-1:-1;;;;;5782:16:0;;5774:53;;;;-1:-1:-1;;;5774:53:0;;10990:2:1;5774:53:0;;;10972:21:1;11029:2;11009:18;;;11002:30;11068:26;11048:18;;;11041:54;11112:18;;5774:53:0;10788:348:1;5774:53:0;5848:40;5867:4;5873:10;5885:2;5848:18;:40::i;:::-;5840:67;;;;-1:-1:-1;;;5840:67:0;;10305:2:1;5840:67:0;;;10287:21:1;10344:2;10324:18;;;10317:30;-1:-1:-1;;;10363:18:1;;;10356:44;10417:18;;5840:67:0;10103:338:1;5840:67:0;-1:-1:-1;;;;;5920:16:0;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;5949:14:0;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;5976:12:0;;;;:8;:12;;;;;;;;:17;;-1:-1:-1;;;;;5976:17:0;;;-1:-1:-1;;;;;;5976:17:0;;;;;;;;6013:10;:14;;;;;;6006:21;;;;;;;6045:22;;5985:2;;5976:17;;6045:22;;;;;;5565:510;;;:::o;6083:498::-;6201:26;6214:4;6220:2;6224;6201:12;:26::i;:::-;-1:-1:-1;;;;;6262:14:0;;;:19;;:267;;-1:-1:-1;6302:165:0;;-1:-1:-1;;;6302:165:0;;;6361:10;6302:165;;;11859:34:1;-1:-1:-1;;;;;11929:15:1;;;11909:18;;;11902:43;11961:18;;;11954:34;;;12024:3;12004:18;;;11997:31;-1:-1:-1;12044:19:1;;;12037:30;6488:41:0;;6302:36;;;;6488:41;;12084:19:1;;6302:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6302:227:0;;6262:267;6240:333;;;;-1:-1:-1;;;6240:333:0;;12570:2:1;6240:333:0;;;12552:21:1;12609:2;12589:18;;;12582:30;-1:-1:-1;;;12628:18:1;;;12621:46;12684:18;;6240:333:0;12368:340:1;6240:333:0;6083:498;;;:::o;3424:220::-;3498:6;;-1:-1:-1;;;;;3498:6:0;3508:10;3498:20;3490:29;;;;;;3535:9;3530:107;3554:7;:14;3550:1;:18;3530:107;;;3590:35;3600:7;3608:1;3600:10;;;;;;;;:::i;:::-;;;;;;;3611:11;;:13;;;;;;;;;:::i;:::-;;;;;3590:9;:35::i;:::-;3570:3;;;:::i;:::-;;;3530:107;;4216:168;4268:13;4302:12;;;:8;:12;;;;;;-1:-1:-1;;;;;4302:12:0;;4325:51;;;;-1:-1:-1;;;4325:51:0;;9957:2:1;4325:51:0;;;9939:21:1;9996:2;9976:18;;;9969:30;-1:-1:-1;;;10015:18:1;;;10008:49;10074:18;;4325:51:0;9755:343:1;4325:51:0;4216:168;;;:::o;4392:172::-;4449:7;-1:-1:-1;;;;;4477:19:0;;4469:52;;;;-1:-1:-1;;;4469:52:0;;13047:2:1;4469:52:0;;;13029:21:1;13086:2;13066:18;;;13059:30;-1:-1:-1;;;13105:18:1;;;13098:50;13165:18;;4469:52:0;12845:344:1;4469:52:0;-1:-1:-1;;;;;;4539:17:0;;;;;:10;:17;;;;;;;4392:172::o;2759:131::-;2807:6;;-1:-1:-1;;;;;2807:6:0;:20;;:44;;-1:-1:-1;2831:6:0;;-1:-1:-1;;;;;2831:6:0;2841:10;2831:20;2807:44;2799:53;;;;;;2863:6;:19;;-1:-1:-1;;;;;;2863:19:0;2872:10;2863:19;;;2759:131::o;1420:20::-;;;;;;;:::i;4572:199::-;4669:10;4652:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;4652:38:0;;;;;;;;;;;;:49;;-1:-1:-1;;4652:49:0;;;;;;;;;;4717:46;;540:41:1;;;4652:38:0;;4669:10;4717:46;;513:18:1;4717:46:0;;;;;;;4572:199;;:::o;6589:530::-;6737:26;6750:4;6756:2;6760;6737:12;:26::i;:::-;-1:-1:-1;;;;;6798:14:0;;;:19;;:269;;-1:-1:-1;6838:167:0;;-1:-1:-1;;;6838:167:0;;;7026:41;-1:-1:-1;;;;;6838:36:0;;;7026:41;;6838:167;;6897:10;;6930:4;;6957:2;;6982:4;;;;6838:167;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6838:229:0;;6798:269;6776:335;;;;-1:-1:-1;;;6776:335:0;;12570:2:1;6776:335:0;;;12552:21:1;12609:2;12589:18;;;12582:30;-1:-1:-1;;;12628:18:1;;;12621:46;12684:18;;6776:335:0;12368:340:1;6776:335:0;6589:530;;;;;:::o;2347:404::-;2523:6;;-1:-1:-1;;;;;2523:6:0;2533:10;2523:20;2515:48;;;;-1:-1:-1;;;2515:48:0;;14063:2:1;2515:48:0;;;14045:21:1;14102:2;14082:18;;;14075:30;-1:-1:-1;;;14121:18:1;;;14114:45;14176:18;;2515:48:0;13861:339:1;2515:48:0;2575:6;:19;;-1:-1:-1;;;;;;2575:19:0;2584:10;2575:19;;;;2605:12;2612:5;2575:19;2605:12;:::i;:::-;-1:-1:-1;2628:6:0;:16;2637:7;2628:6;:16;:::i;:::-;-1:-1:-1;2655:8:0;:19;;-1:-1:-1;;;;;;2655:19:0;-1:-1:-1;;;;;2655:19:0;;;;;-1:-1:-1;2685:15:0;2692:8;-1:-1:-1;2685:15:0;:::i;:::-;-1:-1:-1;2729:11:0;:13;;2711:32;;2717:10;;2729:13;:11;:13;;;:::i;:::-;;;;;2711:5;:32::i;:::-;2347:404;;;;:::o;5287:270::-;5416:4;5452:5;-1:-1:-1;;;;;5441:16:0;:7;-1:-1:-1;;;;;5441:16:0;;:65;;;-1:-1:-1;;;;;;5474:23:0;;;;;;;:16;:23;;;;;;;;:32;;;;;;;;;;;;5441:65;:107;;;-1:-1:-1;5534:14:0;;;;:10;:14;;;;;;-1:-1:-1;;;;;5523:25:0;;;5534:14;;5523:25;5441:107;5433:116;5287:270;-1:-1:-1;;;;5287:270:0:o;7127:285::-;-1:-1:-1;;;;;7198:16:0;;7190:49;;;;-1:-1:-1;;;7190:49:0;;14407:2:1;7190:49:0;;;14389:21:1;14446:2;14426:18;;;14419:30;-1:-1:-1;;;14465:18:1;;;14458:50;14525:18;;7190:49:0;14205:344:1;7190:49:0;7282:1;7258:12;;;:8;:12;;;;;;-1:-1:-1;;;;;7258:12:0;:26;7250:53;;;;-1:-1:-1;;;7250:53:0;;14756:2:1;7250:53:0;;;14738:21:1;14795:2;14775:18;;;14768:30;-1:-1:-1;;;14814:18:1;;;14807:44;14868:18;;7250:53:0;14554:338:1;7250:53:0;-1:-1:-1;;;;;7316:14:0;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;7343:12:0;;;;:8;:12;;;;;;:17;;-1:-1:-1;;;;;;7343:17:0;-1:-1:-1;;;;;7343:17:0;;;;;;;;;7387:8;;7378:26;;7343:12;;:17;;7387:8;;;;7378:26;;7343:12;7378:26;7127:285;;:::o;7420:283::-;-1:-1:-1;;;;;7487:16:0;;7479:49;;;;-1:-1:-1;;;7479:49:0;;14407:2:1;7479:49:0;;;14389:21:1;14446:2;14426:18;;;14419:30;-1:-1:-1;;;14465:18:1;;;14458:50;14525:18;;7479:49:0;14205:344:1;7479:49:0;7571:1;7547:12;;;:8;:12;;;;;;-1:-1:-1;;;;;7547:12:0;:26;7539:53;;;;-1:-1:-1;;;7539:53:0;;14756:2:1;7539:53:0;;;14738:21:1;14795:2;14775:18;;;14768:30;-1:-1:-1;;;14814:18:1;;;14807:44;14868:18;;7539:53:0;14554:338:1;7539:53:0;-1:-1:-1;;;;;7605:14:0;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;7632:12:0;;;;:8;:12;;;;;;:17;;-1:-1:-1;;;;;;7632:17:0;-1:-1:-1;;;;;7632:17:0;;;;;;;;7667:28;;7632:12;;;7667:28;;7632:12;;7667:28;7420:283;;:::o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:1:o;592:127::-;653:10;648:3;644:20;641:1;634:31;684:4;681:1;674:15;708:4;705:1;698:15;724:275;795:2;789:9;860:2;841:13;;-1:-1:-1;;837:27:1;825:40;;895:18;880:34;;916:22;;;877:62;874:88;;;942:18;;:::i;:::-;978:2;971:22;724:275;;-1:-1:-1;724:275:1:o;1004:531::-;1047:5;1100:3;1093:4;1085:6;1081:17;1077:27;1067:55;;1118:1;1115;1108:12;1067:55;1154:6;1141:20;1180:18;1176:2;1173:26;1170:52;;;1202:18;;:::i;:::-;1246:55;1289:2;1270:13;;-1:-1:-1;;1266:27:1;1295:4;1262:38;1246:55;:::i;:::-;1326:2;1317:7;1310:19;1372:3;1365:4;1360:2;1352:6;1348:15;1344:26;1341:35;1338:55;;;1389:1;1386;1379:12;1338:55;1454:2;1447:4;1439:6;1435:17;1428:4;1419:7;1415:18;1402:55;1502:1;1477:16;;;1495:4;1473:27;1466:38;;;;1481:7;1004:531;-1:-1:-1;;;1004:531:1:o;1540:322::-;1609:6;1662:2;1650:9;1641:7;1637:23;1633:32;1630:52;;;1678:1;1675;1668:12;1630:52;1718:9;1705:23;1751:18;1743:6;1740:30;1737:50;;;1783:1;1780;1773:12;1737:50;1806;1848:7;1839:6;1828:9;1824:22;1806:50;:::i;1867:548::-;1979:4;2008:2;2037;2026:9;2019:21;2069:6;2063:13;2112:6;2107:2;2096:9;2092:18;2085:34;2137:1;2147:140;2161:6;2158:1;2155:13;2147:140;;;2256:14;;;2252:23;;2246:30;2222:17;;;2241:2;2218:26;2211:66;2176:10;;2147:140;;;2151:3;2336:1;2331:2;2322:6;2311:9;2307:22;2303:31;2296:42;2406:2;2399;2395:7;2390:2;2382:6;2378:15;2374:29;2363:9;2359:45;2355:54;2347:62;;;;1867:548;;;;:::o;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:1;;2420:180;-1:-1:-1;2420:180:1:o;2813:173::-;2881:20;;-1:-1:-1;;;;;2930:31:1;;2920:42;;2910:70;;2976:1;2973;2966:12;2991:254;3059:6;3067;3120:2;3108:9;3099:7;3095:23;3091:32;3088:52;;;3136:1;3133;3126:12;3088:52;3159:29;3178:9;3159:29;:::i;:::-;3149:39;3235:2;3220:18;;;;3207:32;;-1:-1:-1;;;2991:254:1:o;3250:952::-;3334:6;3365:2;3408;3396:9;3387:7;3383:23;3379:32;3376:52;;;3424:1;3421;3414:12;3376:52;3464:9;3451:23;3493:18;3534:2;3526:6;3523:14;3520:34;;;3550:1;3547;3540:12;3520:34;3588:6;3577:9;3573:22;3563:32;;3633:7;3626:4;3622:2;3618:13;3614:27;3604:55;;3655:1;3652;3645:12;3604:55;3691:2;3678:16;3713:2;3709;3706:10;3703:36;;;3719:18;;:::i;:::-;3765:2;3762:1;3758:10;3748:20;;3788:28;3812:2;3808;3804:11;3788:28;:::i;:::-;3850:15;;;3920:11;;;3916:20;;;3881:12;;;;3948:19;;;3945:39;;;3980:1;3977;3970:12;3945:39;4004:11;;;;4024:148;4040:6;4035:3;4032:15;4024:148;;;4106:23;4125:3;4106:23;:::i;:::-;4094:36;;4057:12;;;;4150;;;;4024:148;;;4191:5;3250:952;-1:-1:-1;;;;;;;;3250:952:1:o;4389:328::-;4466:6;4474;4482;4535:2;4523:9;4514:7;4510:23;4506:32;4503:52;;;4551:1;4548;4541:12;4503:52;4574:29;4593:9;4574:29;:::i;:::-;4564:39;;4622:38;4656:2;4645:9;4641:18;4622:38;:::i;:::-;4612:48;;4707:2;4696:9;4692:18;4679:32;4669:42;;4389:328;;;;;:::o;4722:186::-;4781:6;4834:2;4822:9;4813:7;4809:23;4805:32;4802:52;;;4850:1;4847;4840:12;4802:52;4873:29;4892:9;4873:29;:::i;4913:347::-;4978:6;4986;5039:2;5027:9;5018:7;5014:23;5010:32;5007:52;;;5055:1;5052;5045:12;5007:52;5078:29;5097:9;5078:29;:::i;:::-;5068:39;;5157:2;5146:9;5142:18;5129:32;5204:5;5197:13;5190:21;5183:5;5180:32;5170:60;;5226:1;5223;5216:12;5170:60;5249:5;5239:15;;;4913:347;;;;;:::o;5265:808::-;5362:6;5370;5378;5386;5394;5447:3;5435:9;5426:7;5422:23;5418:33;5415:53;;;5464:1;5461;5454:12;5415:53;5487:29;5506:9;5487:29;:::i;:::-;5477:39;;5535:38;5569:2;5558:9;5554:18;5535:38;:::i;:::-;5525:48;;5620:2;5609:9;5605:18;5592:32;5582:42;;5675:2;5664:9;5660:18;5647:32;5698:18;5739:2;5731:6;5728:14;5725:34;;;5755:1;5752;5745:12;5725:34;5793:6;5782:9;5778:22;5768:32;;5838:7;5831:4;5827:2;5823:13;5819:27;5809:55;;5860:1;5857;5850:12;5809:55;5900:2;5887:16;5926:2;5918:6;5915:14;5912:34;;;5942:1;5939;5932:12;5912:34;5987:7;5982:2;5973:6;5969:2;5965:15;5961:24;5958:37;5955:57;;;6008:1;6005;5998:12;5955:57;5265:808;;;;-1:-1:-1;5265:808:1;;-1:-1:-1;6039:2:1;6031:11;;6061:6;5265:808;-1:-1:-1;;;5265:808:1:o;6078:818::-;6194:6;6202;6210;6218;6271:3;6259:9;6250:7;6246:23;6242:33;6239:53;;;6288:1;6285;6278:12;6239:53;6328:9;6315:23;6357:18;6398:2;6390:6;6387:14;6384:34;;;6414:1;6411;6404:12;6384:34;6437:50;6479:7;6470:6;6459:9;6455:22;6437:50;:::i;:::-;6427:60;;6540:2;6529:9;6525:18;6512:32;6496:48;;6569:2;6559:8;6556:16;6553:36;;;6585:1;6582;6575:12;6553:36;6608:52;6652:7;6641:8;6630:9;6626:24;6608:52;:::i;:::-;6598:62;;6679:38;6713:2;6702:9;6698:18;6679:38;:::i;:::-;6669:48;;6770:2;6759:9;6755:18;6742:32;6726:48;;6799:2;6789:8;6786:16;6783:36;;;6815:1;6812;6805:12;6783:36;;6838:52;6882:7;6871:8;6860:9;6856:24;6838:52;:::i;:::-;6828:62;;;6078:818;;;;;;;:::o;6901:260::-;6969:6;6977;7030:2;7018:9;7009:7;7005:23;7001:32;6998:52;;;7046:1;7043;7036:12;6998:52;7069:29;7088:9;7069:29;:::i;:::-;7059:39;;7117:38;7151:2;7140:9;7136:18;7117:38;:::i;:::-;7107:48;;6901:260;;;;;:::o;7166:380::-;7245:1;7241:12;;;;7288;;;7309:61;;7363:4;7355:6;7351:17;7341:27;;7309:61;7416:2;7408:6;7405:14;7385:18;7382:38;7379:161;;7462:10;7457:3;7453:20;7450:1;7443:31;7497:4;7494:1;7487:15;7525:4;7522:1;7515:15;7379:161;;7166:380;;;:::o;7677:545::-;7779:2;7774:3;7771:11;7768:448;;;7815:1;7840:5;7836:2;7829:17;7885:4;7881:2;7871:19;7955:2;7943:10;7939:19;7936:1;7932:27;7926:4;7922:38;7991:4;7979:10;7976:20;7973:47;;;-1:-1:-1;8014:4:1;7973:47;8069:2;8064:3;8060:12;8057:1;8053:20;8047:4;8043:31;8033:41;;8124:82;8142:2;8135:5;8132:13;8124:82;;;8187:17;;;8168:1;8157:13;8124:82;;;8128:3;;;7677:545;;;:::o;8398:1352::-;8524:3;8518:10;8551:18;8543:6;8540:30;8537:56;;;8573:18;;:::i;:::-;8602:97;8692:6;8652:38;8684:4;8678:11;8652:38;:::i;:::-;8646:4;8602:97;:::i;:::-;8754:4;;8818:2;8807:14;;8835:1;8830:663;;;;9537:1;9554:6;9551:89;;;-1:-1:-1;9606:19:1;;;9600:26;9551:89;-1:-1:-1;;8355:1:1;8351:11;;;8347:24;8343:29;8333:40;8379:1;8375:11;;;8330:57;9653:81;;8800:944;;8830:663;7624:1;7617:14;;;7661:4;7648:18;;-1:-1:-1;;8866:20:1;;;8984:236;8998:7;8995:1;8992:14;8984:236;;;9087:19;;;9081:26;9066:42;;9179:27;;;;9147:1;9135:14;;;;9014:19;;8984:236;;;8988:3;9248:6;9239:7;9236:19;9233:201;;;9309:19;;;9303:26;-1:-1:-1;;9392:1:1;9388:14;;;9404:3;9384:24;9380:37;9376:42;9361:58;9346:74;;9233:201;-1:-1:-1;;;;;9480:1:1;9464:14;;;9460:22;9447:36;;-1:-1:-1;8398:1352:1:o;11141:127::-;11202:10;11197:3;11193:20;11190:1;11183:31;11233:4;11230:1;11223:15;11257:4;11254:1;11247:15;11273:136;11312:3;11340:5;11330:39;;11349:18;;:::i;:::-;-1:-1:-1;;;11385:18:1;;11273:136::o;11414:135::-;11453:3;11474:17;;;11471:43;;11494:18;;:::i;:::-;-1:-1:-1;11541:1:1;11530:13;;11414:135::o;12114:249::-;12183:6;12236:2;12224:9;12215:7;12211:23;12207:32;12204:52;;;12252:1;12249;12242:12;12204:52;12284:9;12278:16;12303:30;12327:5;12303:30;:::i;12713:127::-;12774:10;12769:3;12765:20;12762:1;12755:31;12805:4;12802:1;12795:15;12829:4;12826:1;12819:15;13194:662;-1:-1:-1;;;;;13473:15:1;;;13455:34;;13525:15;;13520:2;13505:18;;13498:43;13572:2;13557:18;;13550:34;;;13620:3;13615:2;13600:18;;13593:31;;;13640:19;;13633:35;;;13398:4;13661:6;13711;13435:3;13690:19;;13677:49;13776:1;13770:3;13761:6;13750:9;13746:22;13742:32;13735:43;13846:3;13839:2;13835:7;13830:2;13822:6;13818:15;13814:29;13803:9;13799:45;13795:55;13787:63;;13194:662;;;;;;;;:::o

Swarm Source

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