Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
4,884 TPLYR
Holders
4,879
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 TPLYRLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TeamsCommemorativeNFT
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 250000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.20;import {Ownable} from "openzeppelin/access/Ownable.sol";import {ERC721A} from "ERC721A/ERC721A.sol";import {IERC721} from "openzeppelin/token/ERC721/IERC721.sol";import {IERC721Metadata} from "openzeppelin/token/ERC721/extensions/IERC721Metadata.sol";import {IERC165} from "openzeppelin/utils/introspection/IERC165.sol";import {MerkleProofLib} from "solmate/utils/MerkleProofLib.sol";import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol";import "../IERC4906.sol";import "../IMetadataRenderer.sol";contract TeamsCommemorativeNFT is ERC721A, IERC4906, Ownable {address public metadataRenderer;address public metadataUpdater;uint256 public mintEnd;bytes32 public merkleRoot;error InvalidTokenId();error InvalidProof();error MerkleRootNotSet();error MintClosed();error MintedAlready();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC721A.sol';/*** @dev Interface of ERC721 token receiver.*/interface ERC721A__IERC721Receiver {function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}/*** @title ERC721A** @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)* Non-Fungible Token Standard, including the Metadata extension.* Optimized for lower gas during batch mints.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)pragma solidity ^0.8.0;import "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Metadata is IERC721 {/*** @dev Returns the token collection name.*/function name() external view returns (string memory);/*** @dev Returns the token collection symbol.*/function symbol() external view returns (string memory);/*** @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.*/function tokenURI(uint256 tokenId) external view returns (string memory);
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity >=0.8.0;/// @notice Gas optimized merkle proof verification library./// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/MerkleProofLib.sol)/// @author Modified from Solady (https://github.com/Vectorized/solady/blob/main/src/utils/MerkleProofLib.sol)library MerkleProofLib {function verify(bytes32[] calldata proof,bytes32 root,bytes32 leaf) internal pure returns (bool isValid) {assembly {if proof.length {// Left shifting by 5 is like multiplying by 32.let end := add(proof.offset, shl(5, proof.length))// Initialize offset to the offset of the proof in calldata.let offset := proof.offset// Iterate over proof elements to compute root hash.// prettier-ignorefor {} 1 {} {// Slot where the leaf should be put in scratch space. If// leaf > calldataload(offset): slot 32, otherwise: slot 0.let leafSlot := shl(5, gt(leaf, calldataload(offset)))
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/SafeTransferLib.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)/// @dev Caution! This library won't check that a token has code, responsibility is delegated to the caller.library SafeTransferLib {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The ETH transfer has failed.error ETHTransferFailed();/// @dev The ERC20 `transferFrom` has failed.error TransferFromFailed();/// @dev The ERC20 `transfer` has failed.error TransferFailed();/// @dev The ERC20 `approve` has failed.error ApproveFailed();/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CONSTANTS */
1234567891011121314// SPDX-License-Identifier: MITpragma solidity ^0.8.17;interface IERC4906 {/// @dev This event emits when the metadata of a token is changed./// So that the third-party platforms such as NFT market could/// timely update the images and related attributes of the NFT.event MetadataUpdate(uint256 _tokenId);/// @dev This event emits when the metadata of a range of tokens is changed./// So that the third-party platforms such as NFT market could/// timely update the images and related attributes of the NFTs.event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId);}
123456// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.17;interface IMetadataRenderer {function tokenURI(uint256 id) external view returns (string memory);}
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;/*** @dev Interface of ERC721A.*/interface IERC721A {/*** The caller must own the token or be an approved operator.*/error ApprovalCallerNotOwnerNorApproved();/*** The token does not exist.*/error ApprovalQueryForNonexistentToken();/*** Cannot query the balance for the zero address.*/error BalanceQueryForZeroAddress();/**
1234567891011121314151617181920212223242526{"remappings": ["ERC721A/=lib/ERC721A/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/operator-filter-registry/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","fundrop/=src/Fundrop/","openzeppelin-contracts-upgradeable/=lib/operator-filter-registry/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","operator-filter-registry/=lib/operator-filter-registry/src/","solady/=lib/solady/src/","solmate/=lib/solmate/src/","lib/forge-std:ds-test/=lib/forge-std/lib/ds-test/src/","lib/openzeppelin-contracts:ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","lib/openzeppelin-contracts:forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","lib/operator-filter-registry:ds-test/=lib/operator-filter-registry/lib/ds-test/src/","lib/operator-filter-registry:erc4626-tests/=lib/operator-filter-registry/lib/openzeppelin-contracts/lib/erc4626-tests/","lib/operator-filter-registry:forge-std/=lib/operator-filter-registry/lib/forge-std/src/","lib/operator-filter-registry:openzeppelin-contracts-upgradeable/=lib/operator-filter-registry/lib/openzeppelin-contracts-upgradeable/contracts/","lib/operator-filter-registry:openzeppelin-contracts/=lib/operator-filter-registry/lib/openzeppelin-contracts/contracts/","lib/solady:ds-test/=lib/solady/lib/solmate/lib/ds-test/src/","lib/solady:forge-std/=lib/solady/test/utils/forge-std/","lib/solady:solmate/=lib/solady/lib/solmate/src/","lib/solmate:ds-test/=lib/solmate/lib/ds-test/src/"],
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"InvalidProof","type":"error"},{"inputs":[],"name":"InvalidTokenId","type":"error"},{"inputs":[],"name":"MerkleRootNotSet","type":"error"},{"inputs":[],"name":"MintClosed","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"MintedAlready","type":"error"},{"inputs":[],"name":"OnlyOwnerOrMetadataUpdater","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"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":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataRenderer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataUpdater","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_metadataRenderer","type":"address"}],"name":"setMetadataRenderer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_metadataUpdater","type":"address"}],"name":"setMetadataUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintEnd","type":"uint256"}],"name":"setMintEnd","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":"id","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600d81526020016c10ba32b0b6b990383630bcb2b960991b815250604051806040016040528060058152602001642a28262ca960d91b81525081600290816200006791906200028a565b5060036200007682826200028a565b50506001600055506200008933620000af565b3332146200009c576200009c32620000af565b620000a932600162000101565b62000356565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805490829003620001275760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b17831790558284019083908390600080516020620020a58339815191528180a4600183015b818114620001b65780836000600080516020620020a5833981519152600080a46001016200018d565b5081600003620001d857604051622e076360e81b815260040160405180910390fd5b60005550505050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200021157607f821691505b6020821081036200023257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001e157600081815260208120601f850160051c81016020861015620002615750805b601f850160051c820191505b8181101562000282578281556001016200026d565b505050505050565b81516001600160401b03811115620002a657620002a6620001e6565b620002be81620002b78454620001fc565b8462000238565b602080601f831160018114620002f65760008415620002dd5750858301515b600019600386901b1c1916600185901b17855562000282565b600085815260208120601f198616915b82811015620003275788860151825594840194600190910190840162000306565b5085821015620003465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d3f80620003666000396000f3fe6080604052600436106101b75760003560e01c8063715018a6116100ec578063b88d4fde1161008a578063ea2b4ab211610064578063ea2b4ab214610510578063eb20614e14610526578063f2fde38b14610546578063fd4fe8a81461056657600080fd5b8063b88d4fde14610487578063c87b56dd1461049a578063e985e9c5146104ba57600080fd5b80638da5cb5b116100c65780638da5cb5b1461040757806395d89b4114610432578063a22cb46514610447578063b77a147b1461046757600080fd5b8063715018a6146103a55780637cb64759146103ba5780638325c62f146103da57600080fd5b80633ccfd60b116101595780636352211e116101335780636352211e146103185780636ba253fd14610338578063703199701461035857806370a082311461038557600080fd5b80633ccfd60b146102db57806341006605146102f057806342842e0e1461030557600080fd5b8063095ea7b311610195578063095ea7b31461025857806318160ddd1461026d57806323b872dd146102b25780632eb4a7ab146102c557600080fd5b806301ffc9a7146101bc57806306fdde03146101f1578063081812fc14610213575b600080fd5b3480156101c857600080fd5b506101dc6101d73660046117eb565b610586565b60405190151581526020015b60405180910390f35b3480156101fd57600080fd5b50610206610696565b6040516101e89190611876565b34801561021f57600080fd5b5061023361022e366004611889565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61026b6102663660046118cb565b610792565b005b34801561027957600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040519081526020016101e8565b61026b6102c03660046118f5565b6108a7565b3480156102d157600080fd5b506102a4600c5481565b3480156102e757600080fd5b5061026b610b60565b3480156102fc57600080fd5b5061026b610b92565b61026b6103133660046118f5565b610c5a565b34801561032457600080fd5b50610233610333366004611889565b610c7a565b34801561034457600080fd5b5061026b610353366004611931565b610c85565b34801561036457600080fd5b506009546102339073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039157600080fd5b506102a46103a0366004611931565b610cd4565b3480156103b157600080fd5b5061026b610d56565b3480156103c657600080fd5b5061026b6103d5366004611889565b610d68565b3480156103e657600080fd5b50600a546102339073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041357600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff16610233565b34801561043e57600080fd5b50610206610dac565b34801561045357600080fd5b5061026b61046236600461194c565b610dbb565b34801561047357600080fd5b5061026b610482366004611988565b610e52565b61026b610495366004611ac1565b610fc7565b3480156104a657600080fd5b506102066104b5366004611889565b611031565b3480156104c657600080fd5b506101dc6104d5366004611b6c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561051c57600080fd5b506102a4600b5481565b34801561053257600080fd5b5061026b610541366004611889565b611140565b34801561055257600080fd5b5061026b610561366004611931565b611194565b34801561057257600080fd5b5061026b610581366004611931565b611250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061061957507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b8061064457507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061069057507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b6060600280546106a590611b9f565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190611b9f565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826112a0565b610769576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061079d82610c7a565b90503373ffffffffffffffffffffffffffffffffffffffff8216146108265773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff16610826576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108b2826112ee565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610919576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff8816909114176109b65773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff166109b6576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610a03576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610a0e57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610afd57600184016000818152600460205260408120549003610afb576000548114610afb5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b610b686113b4565b610b90610b8a60085473ffffffffffffffffffffffffffffffffffffffff1690565b47611435565b565b600a5473ffffffffffffffffffffffffffffffffffffffff163314801590610bd2575060085473ffffffffffffffffffffffffffffffffffffffff163314155b15610c09576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610c3660005490565b610c409190611bf2565b6040805192835260208301919091520160405180910390a1565b610c7583838360405180602001604052806000815250610fc7565b505050565b6000610690826112ee565b610c8d6113b4565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216610d23576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b610d5e6113b4565b610b906000611455565b610d706113b4565b80610da7576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c55565b6060600380546106a590611b9f565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600b54421115610e8e576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205460c01c15801590610edb576040517f96dd8aac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c546040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152600091610f359186918691603401604051602081830303815290604052805190602001206114cc565b905080610f6e576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000179055610fc1336001611506565b50505050565b610fd28484846108a7565b73ffffffffffffffffffffffffffffffffffffffff83163b15610fc157610ffb84848484611644565b610fc1576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060600061103e83610c7a565b73ffffffffffffffffffffffffffffffffffffffff160361108b576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6009546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106909190810190611c2c565b6111486113b4565b6000811180156111585750600c54155b1561118f576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b55565b61119c6113b4565b73ffffffffffffffffffffffffffffffffffffffff8116611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61124d81611455565b50565b6112586113b4565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561124d610b92565b6000816001111580156112b4575060005482105b80156106905750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116113825760005481101561138257600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611380575b8060000361137957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160008181526004602052604090205461133a565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314610b90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161123b565b60008060008084865af16114515763b12d13eb6000526004601cfd5b5050565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600083156114fe578360051b8501855b803580851160051b948552602094851852604060002093018181106114dc5750505b501492915050565b6000805490829003611544576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461160057808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016115c8565b508160000361163b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061169f903390899088908890600401611ca3565b6020604051808303816000875af19250505080156116f8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116f591810190611cec565b60015b61176f573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508051600003611767576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461124d57600080fd5b6000602082840312156117fd57600080fd5b8135611379816117bd565b60005b8381101561182357818101518382015260200161180b565b50506000910152565b60008151808452611844816020860160208601611808565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611379602083018461182c565b60006020828403121561189b57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146118c657600080fd5b919050565b600080604083850312156118de57600080fd5b6118e7836118a2565b946020939093013593505050565b60008060006060848603121561190a57600080fd5b611913846118a2565b9250611921602085016118a2565b9150604084013590509250925092565b60006020828403121561194357600080fd5b611379826118a2565b6000806040838503121561195f57600080fd5b611968836118a2565b91506020830135801515811461197d57600080fd5b809150509250929050565b6000806020838503121561199b57600080fd5b823567ffffffffffffffff808211156119b357600080fd5b818501915085601f8301126119c757600080fd5b8135818111156119d657600080fd5b8660208260051b85010111156119eb57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a7357611a736119fd565b604052919050565b600067ffffffffffffffff821115611a9557611a956119fd565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611ad757600080fd5b611ae0856118a2565b9350611aee602086016118a2565b925060408501359150606085013567ffffffffffffffff811115611b1157600080fd5b8501601f81018713611b2257600080fd5b8035611b35611b3082611a7b565b611a2c565b818152886020838501011115611b4a57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611b7f57600080fd5b611b88836118a2565b9150611b96602084016118a2565b90509250929050565b600181811c90821680611bb357607f821691505b602082108103611bec577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b81810381811115610690577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215611c3e57600080fd5b815167ffffffffffffffff811115611c5557600080fd5b8201601f81018413611c6657600080fd5b8051611c74611b3082611a7b565b818152856020838501011115611c8957600080fd5b611c9a826020830160208601611808565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611ce2608083018461182c565b9695505050505050565b600060208284031215611cfe57600080fd5b8151611379816117bd56fea2646970667358221220498f5b16d5ecc03f0d7763970a2fb456d67fc808ad36593b80f894eac1b4125564736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x6080604052600436106101b75760003560e01c8063715018a6116100ec578063b88d4fde1161008a578063ea2b4ab211610064578063ea2b4ab214610510578063eb20614e14610526578063f2fde38b14610546578063fd4fe8a81461056657600080fd5b8063b88d4fde14610487578063c87b56dd1461049a578063e985e9c5146104ba57600080fd5b80638da5cb5b116100c65780638da5cb5b1461040757806395d89b4114610432578063a22cb46514610447578063b77a147b1461046757600080fd5b8063715018a6146103a55780637cb64759146103ba5780638325c62f146103da57600080fd5b80633ccfd60b116101595780636352211e116101335780636352211e146103185780636ba253fd14610338578063703199701461035857806370a082311461038557600080fd5b80633ccfd60b146102db57806341006605146102f057806342842e0e1461030557600080fd5b8063095ea7b311610195578063095ea7b31461025857806318160ddd1461026d57806323b872dd146102b25780632eb4a7ab146102c557600080fd5b806301ffc9a7146101bc57806306fdde03146101f1578063081812fc14610213575b600080fd5b3480156101c857600080fd5b506101dc6101d73660046117eb565b610586565b60405190151581526020015b60405180910390f35b3480156101fd57600080fd5b50610206610696565b6040516101e89190611876565b34801561021f57600080fd5b5061023361022e366004611889565b610728565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b61026b6102663660046118cb565b610792565b005b34801561027957600080fd5b50600154600054037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040519081526020016101e8565b61026b6102c03660046118f5565b6108a7565b3480156102d157600080fd5b506102a4600c5481565b3480156102e757600080fd5b5061026b610b60565b3480156102fc57600080fd5b5061026b610b92565b61026b6103133660046118f5565b610c5a565b34801561032457600080fd5b50610233610333366004611889565b610c7a565b34801561034457600080fd5b5061026b610353366004611931565b610c85565b34801561036457600080fd5b506009546102339073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039157600080fd5b506102a46103a0366004611931565b610cd4565b3480156103b157600080fd5b5061026b610d56565b3480156103c657600080fd5b5061026b6103d5366004611889565b610d68565b3480156103e657600080fd5b50600a546102339073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041357600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff16610233565b34801561043e57600080fd5b50610206610dac565b34801561045357600080fd5b5061026b61046236600461194c565b610dbb565b34801561047357600080fd5b5061026b610482366004611988565b610e52565b61026b610495366004611ac1565b610fc7565b3480156104a657600080fd5b506102066104b5366004611889565b611031565b3480156104c657600080fd5b506101dc6104d5366004611b6c565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561051c57600080fd5b506102a4600b5481565b34801561053257600080fd5b5061026b610541366004611889565b611140565b34801561055257600080fd5b5061026b610561366004611931565b611194565b34801561057257600080fd5b5061026b610581366004611931565b611250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061061957507fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000145b8061064457507fffffffff000000000000000000000000000000000000000000000000000000008216155b8061069057507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b92915050565b6060600280546106a590611b9f565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190611b9f565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b6000610733826112a0565b610769576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061079d82610c7a565b90503373ffffffffffffffffffffffffffffffffffffffff8216146108265773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff16610826576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108b2826112ee565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610919576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff8816909114176109b65773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff166109b6576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610a03576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610a0e57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610afd57600184016000818152600460205260408120549003610afb576000548114610afb5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b610b686113b4565b610b90610b8a60085473ffffffffffffffffffffffffffffffffffffffff1690565b47611435565b565b600a5473ffffffffffffffffffffffffffffffffffffffff163314801590610bd2575060085473ffffffffffffffffffffffffffffffffffffffff163314155b15610c09576040517f0707164200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600180610c3660005490565b610c409190611bf2565b6040805192835260208301919091520160405180910390a1565b610c7583838360405180602001604052806000815250610fc7565b505050565b6000610690826112ee565b610c8d6113b4565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff8216610d23576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b610d5e6113b4565b610b906000611455565b610d706113b4565b80610da7576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c55565b6060600380546106a590611b9f565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600b54421115610e8e576040517f589ed34b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205460c01c15801590610edb576040517f96dd8aac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c546040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152600091610f359186918691603401604051602081830303815290604052805190602001206114cc565b905080610f6e576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000179055610fc1336001611506565b50505050565b610fd28484846108a7565b73ffffffffffffffffffffffffffffffffffffffff83163b15610fc157610ffb84848484611644565b610fc1576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060600061103e83610c7a565b73ffffffffffffffffffffffffffffffffffffffff160361108b576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6009546040517fc87b56dd0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063c87b56dd90602401600060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106909190810190611c2c565b6111486113b4565b6000811180156111585750600c54155b1561118f576040517f9f8a28f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b55565b61119c6113b4565b73ffffffffffffffffffffffffffffffffffffffff8116611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61124d81611455565b50565b6112586113b4565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561124d610b92565b6000816001111580156112b4575060005482105b80156106905750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b600081806001116113825760005481101561138257600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611380575b8060000361137957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160008181526004602052604090205461133a565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314610b90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161123b565b60008060008084865af16114515763b12d13eb6000526004601cfd5b5050565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600083156114fe578360051b8501855b803580851160051b948552602094851852604060002093018181106114dc5750505b501492915050565b6000805490829003611544576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461160057808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016115c8565b508160000361163b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061169f903390899088908890600401611ca3565b6020604051808303816000875af19250505080156116f8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116f591810190611cec565b60015b61176f573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508051600003611767576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461124d57600080fd5b6000602082840312156117fd57600080fd5b8135611379816117bd565b60005b8381101561182357818101518382015260200161180b565b50506000910152565b60008151808452611844816020860160208601611808565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611379602083018461182c565b60006020828403121561189b57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146118c657600080fd5b919050565b600080604083850312156118de57600080fd5b6118e7836118a2565b946020939093013593505050565b60008060006060848603121561190a57600080fd5b611913846118a2565b9250611921602085016118a2565b9150604084013590509250925092565b60006020828403121561194357600080fd5b611379826118a2565b6000806040838503121561195f57600080fd5b611968836118a2565b91506020830135801515811461197d57600080fd5b809150509250929050565b6000806020838503121561199b57600080fd5b823567ffffffffffffffff808211156119b357600080fd5b818501915085601f8301126119c757600080fd5b8135818111156119d657600080fd5b8660208260051b85010111156119eb57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a7357611a736119fd565b604052919050565b600067ffffffffffffffff821115611a9557611a956119fd565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060008060808587031215611ad757600080fd5b611ae0856118a2565b9350611aee602086016118a2565b925060408501359150606085013567ffffffffffffffff811115611b1157600080fd5b8501601f81018713611b2257600080fd5b8035611b35611b3082611a7b565b611a2c565b818152886020838501011115611b4a57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611b7f57600080fd5b611b88836118a2565b9150611b96602084016118a2565b90509250929050565b600181811c90821680611bb357607f821691505b602082108103611bec577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b81810381811115610690577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215611c3e57600080fd5b815167ffffffffffffffff811115611c5557600080fd5b8201601f81018413611c6657600080fd5b8051611c74611b3082611a7b565b818152856020838501011115611c8957600080fd5b611c9a826020830160208601611808565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611ce2608083018461182c565b9695505050505050565b600060208284031215611cfe57600080fd5b8151611379816117bd56fea2646970667358221220498f5b16d5ecc03f0d7763970a2fb456d67fc808ad36593b80f894eac1b4125564736f6c63430008140033
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.