Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
4,321 DRKZ
Holders
948
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
5 DRKZLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Drakoz
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.17;import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";import "erc721a/contracts/ERC721A.sol";import "erc721a/contracts/extensions/ERC721AQueryable.sol";import "erc721a/contracts/extensions/ERC4907A.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/security/Pausable.sol";import "@openzeppelin/contracts/security/ReentrancyGuard.sol";import "@openzeppelin/contracts/token/common/ERC2981.sol";/*** @author Created with HeyMint Launchpad https://launchpad.heymint.xyz* @notice This contract handles minting Drakoz tokens.*/contract Drakoz isERC721A,ERC721AQueryable,ERC4907A,Ownable,Pausable,ReentrancyGuard,ERC2981{using ECDSA for bytes32;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.3) (utils/cryptography/ECDSA.sol)pragma solidity ^0.8.0;import "../Strings.sol";/*** @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.** These functions can be used to verify that a message was signed by the holder* of the private keys of a given address.*/library ECDSA {enum RecoverError {NoError,InvalidSignature,InvalidSignatureLength,InvalidSignatureS,InvalidSignatureV}function _throwError(RecoverError error) private pure {if (error == RecoverError.NoError) {return; // no error: do nothing} else if (error == RecoverError.InvalidSignature) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// 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// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC721AQueryable.sol';import '../ERC721A.sol';/*** @title ERC721AQueryable.** @dev ERC721A subclass with convenience query functions.*/abstract contract ERC721AQueryable is ERC721A, IERC721AQueryable {/*** @dev Returns the `TokenOwnership` struct at `tokenId` without reverting.** If the `tokenId` is out of bounds:** - `addr = address(0)`* - `startTimestamp = 0`* - `burned = false`* - `extraData = 0`** If the `tokenId` is burned:
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC4907A.sol';import '../ERC721A.sol';/*** @title ERC4907A** @dev [ERC4907](https://eips.ethereum.org/EIPS/eip-4907) compliant* extension of ERC721A, which allows owners and authorized addresses* to add a time-limited role with restricted permissions to ERC721 tokens.*/abstract contract ERC4907A is ERC721A, IERC4907A {// The bit position of `expires` in packed user info.uint256 private constant _BITPOS_EXPIRES = 160;// Mapping from token ID to user info.//// Bits Layout:// - [0..159] `user`// - [160..223] `expires`mapping(uint256 => uint256) private _packedUserInfo;
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// OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which allows children to implement an emergency stop* mechanism that can be triggered by an authorized account.** This module is used through inheritance. It will make available the* modifiers `whenNotPaused` and `whenPaused`, which can be applied to* the functions of your contract. Note that they will not be pausable by* simply including this module, only once the modifiers are put in place.*/abstract contract Pausable is Context {/*** @dev Emitted when the pause is triggered by `account`.*/event Paused(address account);/*** @dev Emitted when the pause is lifted by `account`.*/event Unpaused(address account);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)pragma solidity ^0.8.0;/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuard {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write// back. This is the compiler's defense against contract upgrades and
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/common/ERC2981.sol)pragma solidity ^0.8.0;import "../../interfaces/IERC2981.sol";import "../../utils/introspection/ERC165.sol";/*** @dev Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information.** Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for* specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first.** Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the* fee is specified in basis points by default.** IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See* https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to* voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.** _Available since v4.5._*/abstract contract ERC2981 is IERC2981, ERC165 {struct RoyaltyInfo {address receiver;
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;}}
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (interfaces/IERC2981.sol)pragma solidity ^0.8.0;import "../utils/introspection/IERC165.sol";/*** @dev Interface for the NFT Royalty Standard.** A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal* support for royalty payments across all NFT marketplaces and ecosystem participants.** _Available since v4.5._*/interface IERC2981 is IERC165 {/*** @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of* exchange. The royalty amount is denominated and should be paid in that same unit of exchange.*/function royaltyInfo(uint256 tokenId, uint256 salePrice)externalviewreturns (address receiver, uint256 royaltyAmount);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)pragma solidity ^0.8.0;import "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)pragma solidity ^0.8.0;/*** @dev String operations.*/library Strings {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {// Inspired by OraclizeAPI's implementation - MIT licence// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.solif (value == 0) {return "0";}uint256 temp = value;uint256 digits;while (temp != 0) {digits++;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// 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();/*** The caller cannot approve to their own address.*/error ApproveToCaller();/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.4;import '../IERC721A.sol';/*** @dev Interface of ERC4907A.*/interface IERC4907A is IERC721A {/*** The caller must own the token or be an approved operator.*/error SetUserCallerNotOwnerNorApproved();/*** @dev Emitted when the `user` of an NFT or the `expires` of the `user` is changed.* The zero address for user indicates that there is no user address.*/event UpdateUser(uint256 indexed tokenId, address indexed user, uint64 expires);/*** @dev Sets the `user` and `expires` for `tokenId`.* The zero address indicates there is no user.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.4;import '../IERC721A.sol';/*** @dev Interface of ERC721AQueryable.*/interface IERC721AQueryable is IERC721A {/*** Invalid query range (`start` >= `stop`).*/error InvalidQueryRange();/*** @dev Returns the `TokenOwnership` struct at `tokenId` without reverting.** If the `tokenId` is out of bounds:** - `addr = address(0)`* - `startTimestamp = 0`* - `burned = false`* - `extraData = 0`
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);}
123456789101112131415161718{"optimizer": {"runs": 200,"enabled": true},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_blocklistContractAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ApproveToCaller","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"InvalidQueryRange","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"SetUserCallerNotOwnerNorApproved","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":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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint64","name":"expires","type":"uint64"}],"name":"UpdateUser","type":"event"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRESALE_MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocklistContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocklistPermanentlyDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"explicitOwnershipOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"},{"internalType":"uint24","name":"extraData","type":"uint24"}],"internalType":"struct IERC721A.TokenOwnership","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"explicitOwnershipsOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"},{"internalType":"uint24","name":"extraData","type":"uint24"}],"internalType":"struct IERC721A.TokenOwnership[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freezeMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freezePayoutAddresses","outputs":[],"stateMutability":"nonpayable","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":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"mintNumber","type":"uint256[]"}],"name":"gift","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"isExchangeBlocklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPresaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPublicSaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"numberMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"payoutAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payoutAddressesFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"payoutBasisPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"permanentlyDisableBlocklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"messageHash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"uint256","name":"numTokens","type":"uint256"},{"internalType":"uint256","name":"maximumAllowedMints","type":"uint256"}],"name":"presaleMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"presaleMintsAllowedPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleMintsAllowedPerTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presalePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicMintsAllowedPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicMintsAllowedPerTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxSupply","type":"uint256"}],"name":"reduceMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPresaleMaxSupply","type":"uint256"}],"name":"reducePresaleMaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"royaltyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royaltyFee","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"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":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintsAllowed","type":"uint256"}],"name":"setPresaleMintsAllowedPerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintsAllowed","type":"uint256"}],"name":"setPresaleMintsAllowedPerTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_presalePrice","type":"uint256"}],"name":"setPresalePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_presaleSignerAddress","type":"address"}],"name":"setPresaleSignerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_saleActiveState","type":"bool"}],"name":"setPresaleState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintsAllowed","type":"uint256"}],"name":"setPublicMintsAllowedPerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintsAllowed","type":"uint256"}],"name":"setPublicMintsAllowedPerTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_publicPrice","type":"uint256"}],"name":"setPublicPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_saleActiveState","type":"bool"}],"name":"setPublicSaleState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_royaltyAddress","type":"address"}],"name":"setRoyaltyAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"_feeNumerator","type":"uint96"}],"name":"setRoyaltyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint64","name":"expires","type":"uint64"}],"name":"setUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"name":"tokensOfOwnerIn","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_blocklistContractAddress","type":"address"}],"name":"updateBlocklistContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"exchanges","type":"uint256[]"},{"internalType":"bool[]","name":"blocklisted","type":"bool[]"}],"name":"updateBlocklistedExchanges","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_payoutAddresses","type":"address[]"},{"internalType":"uint256[]","name":"_payoutBasisPoints","type":"uint256[]"}],"name":"updatePayoutAddressesAndBasisPoints","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"userExpires","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"userOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
600d80547323e115d26985a0b9d8915ad1313cc3e477fa3ece6001600160a01b031991821617909155600f80547313c16311dcb15dffd5853dc040081baeb484aa0992168217905560a0604052608090815262000061906010906001620004f4565b506040518060800160405280604381526020016200490f604391396013906200008b90826200065e565b506110e16014819055610c806015556002601655601781905560006018556005601955601a556618838370f34000601b5560408051602081019091526127108152620000dc90601c9060016200055e565b50601d80546001600160601b0319166102b2179055348015620000fe57600080fd5b50604051620049523803806200495283398101604081905262000121916200072a565b60405180604001604052806006815260200165223930b5b7bd60d11b81525060405180604001604052806004815260200163222925ad60e11b81525081600290816200016e91906200065e565b5060036200017d82826200065e565b50506001600055506200019033620003a1565b6009805460ff60a01b191690556001600a55600e80546001600160a01b0319166001600160a01b0383811691909117909155600f54601d54620001e19291909116906001600160601b0316620003f3565b601c54601054146200023a5760405162461bcd60e51b815260206004820152601d60248201527f5041594f55545f4152524159535f4e4f545f53414d455f4c454e47544800000060448201526064015b60405180910390fd5b6000805b601c548110156200028e57601c81815481106200025f576200025f6200075c565b90600052602060002001548262000277919062000788565b9150806200028581620007a4565b9150506200023e565b508061271014620002e25760405162461bcd60e51b815260206004820181905260248201527f544f54414c5f42415349535f504f494e54535f4d5553545f42455f3130303030604482015260640162000231565b505060126020527f45429b9195d4ec5c0cf6c69e9c21a4ca0ea773b702c2de5735f85d2631f267468054600160ff1991821681179092557f8e1fee8c88a9e04123b21e90cae2727a7715bf522a1e46eb5934ccd05203a6b280548216831790557fb4fcd034df3d20faa1c133b66d862ce92732727d40916b48ffb4020cb00fe053805482168317905560076000527f724fd36bd271795fe7866d4cc83b61084ef704502b00c2e0b28047123b3c1acc80549091169091179055620007c0565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115620004635760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b606482015260840162000231565b6001600160a01b038216620004bb5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000231565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b8280548282559060005260206000209081019282156200054c579160200282015b828111156200054c57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000515565b506200055a929150620005a2565b5090565b8280548282559060005260206000209081019282156200054c579160200282015b828111156200054c578251829061ffff169055916020019190600101906200057f565b5b808211156200055a5760008155600101620005a3565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005e457607f821691505b6020821081036200060557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200065957600081815260208120601f850160051c81016020861015620006345750805b601f850160051c820191505b81811015620006555782815560010162000640565b5050505b505050565b81516001600160401b038111156200067a576200067a620005b9565b62000692816200068b8454620005cf565b846200060b565b602080601f831160018114620006ca5760008415620006b15750858301515b600019600386901b1c1916600185901b17855562000655565b600085815260208120601f198616915b82811015620006fb57888601518255948401946001909101908401620006da565b50858210156200071a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200073d57600080fd5b81516001600160a01b03811681146200075557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156200079e576200079e62000772565b92915050565b600060018201620007b957620007b962000772565b5060010190565b61413f80620007d06000396000f3fe6080604052600436106104255760003560e01c8063858179ff11610229578063c23dc68f1161012e578063e03aaae6116100b6578063f48707741161007a578063f487077414610cce578063f68578a314610cee578063fb3cc6c214610d0e578063fc5181f914610d2f578063fdbd5ac814610d4f57600080fd5b8063e03aaae614610c0f578063e1b6e09814610c2f578063e985e9c514610c45578063f2fde38b14610c8e578063f47749fc14610cae57600080fd5b8063c87b56dd116100fd578063c87b56dd14610b85578063d111515d14610ba5578063d547cfb714610bba578063dc33e68114610bcf578063e030565e14610bef57600080fd5b8063c23dc68f14610ae4578063c2f1f14a14610b11578063c627525514610b45578063c872d0e814610b6557600080fd5b8063a0712d68116101b1578063ad2f852a11610180578063ad2f852a14610a2a578063b88d4fde14610a4a578063b8997a9714610a6a578063ba75298914610aa2578063bce4d6ae14610ac457600080fd5b8063a0712d68146109c1578063a07ee1aa146109d4578063a22cb465146109f4578063a945bf8014610a1457600080fd5b80639293a5c7116101f85780639293a5c71461091c57806395d89b411461093c57806398118c801461095157806399a2557a146109715780639cd233741461099157600080fd5b8063858179ff146108985780638834e93b146108ae5780638da5cb5b146108ce5780638fc88c48146108ec57600080fd5b80633f4ba83a1161032f57806370a08231116102b7578063759990fb11610286578063759990fb146108095780637705f9b51461081c578063771c17fe1461083c5780638456cb59146108565780638462151c1461086b57600080fd5b806370a0823114610794578063715018a6146107b457806372f80224146107c957806373532802146107e957600080fd5b80635bbb2177116102fe5780635bbb2177146106f35780635c975abb1461072057806360d938dc1461073f5780636352211e1461075e5780636dd00f271461077e57600080fd5b80633f4ba83a1461067e57806342842e0e146106935780634e00c667146106b357806355f804b3146106d357600080fd5b80631d0a4d7f116103b25780632a55205a116103815780632a55205a146105d457806331faafb41461061357806332cb6b0c146106335780633549345e146106495780633ccfd60b1461066957600080fd5b80631d0a4d7f1461055e5780631e84c4131461057457806323b872dd1461059457806326cd76db146105b457600080fd5b806306fdde03116103f957806306fdde03146104ba578063081812fc146104dc578063095ea7b31461051457806318160ddd14610534578063191f883b1461054957600080fd5b80620e7fa81461042a57806301ffc9a71461045357806304ff2d071461048357806306d254da1461049a575b600080fd5b34801561043657600080fd5b5061044060185481565b6040519081526020015b60405180910390f35b34801561045f57600080fd5b5061047361046e36600461381c565b610d65565b604051901515815260200161044a565b34801561048f57600080fd5b50610498610d94565b005b3480156104a657600080fd5b506104986104b5366004613855565b610e13565b3480156104c657600080fd5b506104cf610e52565b60405161044a91906138c0565b3480156104e857600080fd5b506104fc6104f73660046138d3565b610ee4565b6040516001600160a01b03909116815260200161044a565b34801561052057600080fd5b5061049861052f3660046138ec565b610f28565b34801561054057600080fd5b50610440610fe9565b34801561055557600080fd5b50610498610ff7565b34801561056a57600080fd5b5061044060175481565b34801561058057600080fd5b506011546104739062010000900460ff1681565b3480156105a057600080fd5b506104986105af366004613916565b611061565b3480156105c057600080fd5b506104986105cf366004613855565b611207565b3480156105e057600080fd5b506105f46105ef366004613952565b611231565b604080516001600160a01b03909316835260208301919091520161044a565b34801561061f57600080fd5b5061049861062e366004613974565b6112df565b34801561063f57600080fd5b5061044060145481565b34801561065557600080fd5b506104986106643660046138d3565b611322565b34801561067557600080fd5b5061049861132f565b34801561068a57600080fd5b506104986114c6565b34801561069f57600080fd5b506104986106ae366004613916565b6114d8565b3480156106bf57600080fd5b506104986106ce3660046138d3565b6114f8565b3480156106df57600080fd5b506104986106ee3660046139de565b611505565b3480156106ff57600080fd5b5061071361070e366004613a63565b611574565b60405161044a9190613ad4565b34801561072c57600080fd5b50600954600160a01b900460ff16610473565b34801561074b57600080fd5b5060115461047390610100900460ff1681565b34801561076a57600080fd5b506104fc6107793660046138d3565b61163f565b34801561078a57600080fd5b5061044060195481565b3480156107a057600080fd5b506104406107af366004613855565b61164a565b3480156107c057600080fd5b50610498611698565b3480156107d557600080fd5b506104986107e43660046138d3565b6116aa565b3480156107f557600080fd5b506104986108043660046138d3565b6116b7565b610498610817366004613b16565b611766565b34801561082857600080fd5b50610498610837366004613b73565b611acf565b34801561084857600080fd5b506011546104739060ff1681565b34801561086257600080fd5b50610498611c25565b34801561087757600080fd5b5061088b610886366004613855565b611c35565b60405161044a9190613bde565b3480156108a457600080fd5b50610440601a5481565b3480156108ba57600080fd5b506104406108c93660046138d3565b611d3d565b3480156108da57600080fd5b506009546001600160a01b03166104fc565b3480156108f857600080fd5b506104406109073660046138d3565b60009081526008602052604090205460a01c90565b34801561092857600080fd5b50610498610937366004613c26565b611d5e565b34801561094857600080fd5b506104cf611de4565b34801561095d57600080fd5b5061049861096c366004613b73565b611df3565b34801561097d57600080fd5b5061088b61098c366004613c41565b611ed8565b34801561099d57600080fd5b506104736109ac3660046138d3565b60126020526000908152604090205460ff1681565b6104986109cf3660046138d3565b61205f565b3480156109e057600080fd5b50600e546104fc906001600160a01b031681565b348015610a0057600080fd5b50610498610a0f366004613c74565b6122aa565b348015610a2057600080fd5b50610440601b5481565b348015610a3657600080fd5b50600f546104fc906001600160a01b031681565b348015610a5657600080fd5b50610498610a65366004613cbd565b612365565b348015610a7657600080fd5b50601d54610a8a906001600160601b031681565b6040516001600160601b03909116815260200161044a565b348015610aae57600080fd5b5060115461047390640100000000900460ff1681565b348015610ad057600080fd5b50610498610adf366004613c26565b6123a9565b348015610af057600080fd5b50610b04610aff3660046138d3565b61242d565b60405161044a9190613d98565b348015610b1d57600080fd5b506104fc610b2c3660046138d3565b6000908152600860205260409020544260a01b81110290565b348015610b5157600080fd5b50610498610b603660046138d3565b6124b5565b348015610b7157600080fd5b50610498610b80366004613b73565b6124c2565b348015610b9157600080fd5b506104cf610ba03660046138d3565b612623565b348015610bb157600080fd5b506104986126a6565b348015610bc657600080fd5b506104cf61271d565b348015610bdb57600080fd5b50610440610bea366004613855565b6127ab565b348015610bfb57600080fd5b50610498610c0a366004613da6565b6127b6565b348015610c1b57600080fd5b50610498610c2a3660046138d3565b612886565b348015610c3b57600080fd5b5061044060155481565b348015610c5157600080fd5b50610473610c60366004613df2565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b348015610c9a57600080fd5b50610498610ca9366004613855565b612893565b348015610cba57600080fd5b50610498610cc9366004613855565b612909565b348015610cda57600080fd5b506104fc610ce93660046138d3565b612946565b348015610cfa57600080fd5b50610498610d093660046138d3565b612970565b348015610d1a57600080fd5b50601154610473906301000000900460ff1681565b348015610d3b57600080fd5b50610498610d4a3660046138d3565b61297d565b348015610d5b57600080fd5b5061044060165481565b6000610d70826129d5565b80610d7f5750610d7f82612a23565b80610d8e5750610d8e82612a58565b92915050565b610d9c612a80565b601154640100000000900460ff1615610dfc5760405162461bcd60e51b815260206004820152601f60248201527f5041594f55545f4144445245535345535f414c52454144595f46524f5a454e0060448201526064015b60405180910390fd5b6011805464ff000000001916640100000000179055565b610e1b612a80565b600f80546001600160a01b0319166001600160a01b038316908117909155601d54610e4f91906001600160601b0316612ada565b50565b606060028054610e6190613e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054610e8d90613e1c565b8015610eda5780601f10610eaf57610100808354040283529160200191610eda565b820191906000526020600020905b815481529060010190602001808311610ebd57829003601f168201915b5050505050905090565b6000610eef82612bd7565b610f0c576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600e54604051630565a4ad60e31b81526001600160a01b0380851660048301528492600092911690632b2d256890602401602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190613e56565b60115490915060ff1680610fbd575060008181526012602052604090205460ff16155b610fd95760405162461bcd60e51b8152600401610df390613e6f565b610fe38484612c0c565b50505050565b600154600054036000190190565b610fff612a80565b60115460ff16156110525760405162461bcd60e51b815260206004820152601a60248201527f424c4f434b4c4953545f414c52454144595f44495341424c45440000000000006044820152606401610df3565b6011805460ff19166001179055565b600061106c82612cac565b9050836001600160a01b0316816001600160a01b03161461109f5760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176110ec576110cf8633610c60565b6110ec57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661111357604051633a954ecd60e21b815260040160405180910390fd5b6111208686866001612d1b565b801561112b57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036111bd576001840160008181526004602052604081205490036111bb5760005481146111bb5760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b61120f612a80565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600c602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916112a6575060408051808201909152600b546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906112c5906001600160601b031687613eb3565b6112cf9190613eca565b91519350909150505b9250929050565b6112e7612a80565b601d80546bffffffffffffffffffffffff19166001600160601b038316908117909155600f54610e4f916001600160a01b0390911690612ada565b61132a612a80565b601855565b6002600a54036113515760405162461bcd60e51b8152600401610df390613eec565b6002600a5561135e612a80565b600047116113ae5760405162461bcd60e51b815260206004820152601760248201527f434f4e54524143545f4841535f4e4f5f42414c414e43450000000000000000006044820152606401610df3565b4760005b6010548110156114bd576000612710601c83815481106113d4576113d4613f23565b9060005260206000200154846113ea9190613eb3565b6113f49190613eca565b905060006010838154811061140b5761140b613f23565b60009182526020822001546040516001600160a01b039091169184919081818185875af1925050503d806000811461145f576040519150601f19603f3d011682016040523d82523d6000602084013e611464565b606091505b50509050806114a85760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610df3565b505080806114b590613f39565b9150506113b2565b50506001600a55565b6114ce612a80565b6114d6612dd4565b565b6114f383838360405180602001604052806000815250612365565b505050565b611500612a80565b601955565b61150d612a80565b6011546301000000900460ff16156115675760405162461bcd60e51b815260206004820152601860248201527f4d455441444154415f4841535f4245454e5f46524f5a454e00000000000000006044820152606401610df3565b60136114f3828483613f98565b6060816000816001600160401b0381111561159157611591613ca7565b6040519080825280602002602001820160405280156115e357816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816115af5790505b50905060005b8281146116365761161186868381811061160557611605613f23565b9050602002013561242d565b82828151811061162357611623613f23565b60209081029190910101526001016115e9565b50949350505050565b6000610d8e82612cac565b60006001600160a01b038216611673576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6116a0612a80565b6114d66000612e29565b6116b2612a80565b601755565b6116bf612a80565b601454811061170a5760405162461bcd60e51b815260206004820152601760248201527609c8aaebe9a82b0bea6aaa0a098b2bea89e9ebe90928e9604b1b6044820152606401610df3565b611712610fe9565b8110156117615760405162461bcd60e51b815260206004820152601f60248201527f535550504c595f4c4f5745525f5448414e5f4d494e5445445f544f4b454e53006044820152606401610df3565b601455565b6002600a54036117885760405162461bcd60e51b8152600401610df390613eec565b6002600a553233146117d85760405162461bcd60e51b815260206004820152601960248201527810d0539393d517d0d0531317d19493d357d0d3d395149050d5603a1b6044820152606401610df3565b601154610100900460ff166118275760405162461bcd60e51b815260206004820152601560248201527450524553414c455f49535f4e4f545f41435449564560581b6044820152606401610df3565b6017548211156118755760405162461bcd60e51b815260206004820152601960248201527813505617d352539514d7d4115497d51617d15610d151511151603a1b6044820152606401610df3565b6016548261188233612e7b565b61188c9190614057565b11156118da5760405162461bcd60e51b815260206004820152601e60248201527f4d41585f4d494e54535f5045525f414444524553535f455843454544454400006044820152606401610df3565b80826118e533612e7b565b6118ef9190614057565b11156119325760405162461bcd60e51b815260206004820152601260248201527113505617d352539514d7d15610d15151115160721b6044820152606401610df3565b6015548261193e610fe9565b6119489190614057565b111561198c5760405162461bcd60e51b815260206004820152601360248201527213505617d4d55414131657d15610d151511151606a1b6044820152606401610df3565b8160185461199a9190613eb3565b34146119dc5760405162461bcd60e51b81526020600482015260116024820152701410565351539517d25390d3d4949150d5607a1b6044820152606401610df3565b6040805133602082015290810182905285906060016040516020818303038152906040528051906020012014611a465760405162461bcd60e51b815260206004820152600f60248201526e135154d4d051d157d2539590531251608a1b6044820152606401610df3565b611a51858585612ea3565b611a9d5760405162461bcd60e51b815260206004820152601b60248201527f5349474e41545552455f56414c49444154494f4e5f4641494c454400000000006044820152606401610df3565b611aa73383612f09565b601554611ab2610fe9565b10611ac3576011805461ff00191690555b50506001600a55505050565b611ad7612a80565b828114611b265760405162461bcd60e51b815260206004820152601a60248201527f4152524159535f4d5553545f42455f53414d455f4c454e4754480000000000006044820152606401610df3565b6000805b82811015611b6a57838382818110611b4457611b44613f23565b9050602002013582611b569190614057565b915080611b6281613f39565b915050611b2a565b5060145481611b77610fe9565b611b819190614057565b1115611bc05760405162461bcd60e51b815260206004820152600e60248201526d4d494e545f544f4f5f4c4152474560901b6044820152606401610df3565b60005b848110156111ff57611c13868683818110611be057611be0613f23565b9050602002016020810190611bf59190613855565b858584818110611c0757611c07613f23565b90506020020135612f09565b80611c1d81613f39565b915050611bc3565b611c2d612a80565b6114d6612f27565b60606000806000611c458561164a565b90506000816001600160401b03811115611c6157611c61613ca7565b604051908082528060200260200182016040528015611c8a578160200160208202803683370190505b509050611cb760408051608081018252600080825260208201819052918101829052606081019190915290565b60015b838614611d3157611cca81612f6a565b91508160400151611d295781516001600160a01b031615611cea57815194505b876001600160a01b0316856001600160a01b031603611d295780838780600101985081518110611d1c57611d1c613f23565b6020026020010181815250505b600101611cba565b50909695505050505050565b601c8181548110611d4d57600080fd5b600091825260209091200154905081565b611d66612a80565b801515601160029054906101000a900460ff16151503611dc85760405162461bcd60e51b815260206004820181905260248201527f4e45575f53544154455f4944454e544943414c5f544f5f4f4c445f53544154456044820152606401610df3565b60118054911515620100000262ff000019909216919091179055565b606060038054610e6190613e1c565b611dfb612a80565b828114611e4a5760405162461bcd60e51b815260206004820152601a60248201527f4152524159535f4d5553545f42455f53414d455f4c454e4754480000000000006044820152606401610df3565b60005b83811015611ed157828282818110611e6757611e67613f23565b9050602002016020810190611e7c9190613c26565b60126000878785818110611e9257611e92613f23565b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611ec990613f39565b915050611e4d565b5050505050565b6060818310611efa57604051631960ccad60e11b815260040160405180910390fd5b600080611f0660005490565b90506001851015611f1657600194505b80841115611f22578093505b6000611f2d8761164a565b905084861015611f4c5785850381811015611f46578091505b50611f50565b5060005b6000816001600160401b03811115611f6a57611f6a613ca7565b604051908082528060200260200182016040528015611f93578160200160208202803683370190505b50905081600003611fa957935061205892505050565b6000611fb48861242d565b905060008160400151611fc5575080515b885b888114158015611fd75750848714155b1561204c57611fe581612f6a565b925082604001516120445782516001600160a01b03161561200557825191505b8a6001600160a01b0316826001600160a01b031603612044578084888060010199508151811061203757612037613f23565b6020026020010181815250505b600101611fc7565b50505092835250909150505b9392505050565b6002600a54036120815760405162461bcd60e51b8152600401610df390613eec565b6002600a553233146120d15760405162461bcd60e51b815260206004820152601960248201527810d0539393d517d0d0531317d19493d357d0d3d395149050d5603a1b6044820152606401610df3565b60115462010000900460ff166121295760405162461bcd60e51b815260206004820152601960248201527f5055424c49435f53414c455f49535f4e4f545f414354495645000000000000006044820152606401610df3565b601a548111156121775760405162461bcd60e51b815260206004820152601960248201527813505617d352539514d7d4115497d51617d15610d151511151603a1b6044820152606401610df3565b6019548161218433612e7b565b61218e9190614057565b11156121d15760405162461bcd60e51b815260206004820152601260248201527113505617d352539514d7d15610d15151115160721b6044820152606401610df3565b601454816121dd610fe9565b6121e79190614057565b111561222b5760405162461bcd60e51b815260206004820152601360248201527213505617d4d55414131657d15610d151511151606a1b6044820152606401610df3565b80601b546122399190613eb3565b341461227b5760405162461bcd60e51b81526020600482015260116024820152701410565351539517d25390d3d4949150d5607a1b6044820152606401610df3565b6122853382612f09565b601454612290610fe9565b106122a2576011805462ff0000191690555b506001600a55565b600e54604051630565a4ad60e31b81526001600160a01b0380851660048301528492600092911690632b2d256890602401602060405180830381865afa1580156122f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231c9190613e56565b60115490915060ff168061233f575060008181526012602052604090205460ff16155b61235b5760405162461bcd60e51b8152600401610df390613e6f565b610fe38484612fa6565b612370848484611061565b6001600160a01b0383163b15610fe35761238c8484848461303b565b610fe3576040516368d2bf6b60e11b815260040160405180910390fd5b6123b1612a80565b801515601160019054906101000a900460ff161515036124135760405162461bcd60e51b815260206004820181905260248201527f4e45575f53544154455f4944454e544943414c5f544f5f4f4c445f53544154456044820152606401610df3565b601180549115156101000261ff0019909216919091179055565b604080516080810182526000808252602082018190529181018290526060810191909152604080516080810182526000808252602082018190529181018290526060810191909152600183108061248657506000548310155b156124915792915050565b61249a83612f6a565b90508060400151156124ac5792915050565b61205883613126565b6124bd612a80565b601b55565b6124ca612a80565b601154640100000000900460ff16156125255760405162461bcd60e51b815260206004820152601760248201527f5041594f55545f4144445245535345535f46524f5a454e0000000000000000006044820152606401610df3565b8281146125745760405162461bcd60e51b815260206004820152601860248201527f41525241595f4c454e475448535f4d5553545f4d4154434800000000000000006044820152606401610df3565b6000805b828110156125b85783838281811061259257612592613f23565b90506020020135826125a49190614057565b9150806125b081613f39565b915050612578565b50806127101461260a5760405162461bcd60e51b815260206004820181905260248201527f544f54414c5f42415349535f504f494e54535f4d5553545f42455f31303030306044820152606401610df3565b61261660108686613753565b506111ff601c84846137b6565b606061262e82612bd7565b61264b57604051630a14c4b560e41b815260040160405180910390fd5b600061265561315b565b905080516000036126755760405180602001604052806000815250612058565b8061267f8461316a565b60405160200161269092919061406a565b6040516020818303038152906040529392505050565b6126ae612a80565b6011546301000000900460ff16156127085760405162461bcd60e51b815260206004820181905260248201527f4d455441444154415f4841535f414c52454144595f4245454e5f46524f5a454e6044820152606401610df3565b6011805463ff00000019166301000000179055565b6013805461272a90613e1c565b80601f016020809104026020016040519081016040528092919081815260200182805461275690613e1c565b80156127a35780601f10612778576101008083540402835291602001916127a3565b820191906000526020600020905b81548152906001019060200180831161278657829003601f168201915b505050505081565b6000610d8e82612e7b565b60006127c18461163f565b9050336001600160a01b03821614612812576127dd8133610c60565b61281257336127eb85610ee4565b6001600160a01b031614612812576040516309e3bb1d60e31b815260040160405180910390fd5b6000848152600860209081526040918290206001600160a01b03861660a086901b67ffffffffffffffff60a01b16811790915591516001600160401b038516815286917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe910160405180910390a350505050565b61288e612a80565b601a55565b61289b612a80565b6001600160a01b0381166129005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610df3565b610e4f81612e29565b612911612a80565b6001600160a01b03811661292457600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6010818154811061295657600080fd5b6000918252602090912001546001600160a01b0316905081565b612978612a80565b601655565b612985612a80565b60155481106129d05760405162461bcd60e51b815260206004820152601760248201527609c8aaebe9a82b0bea6aaa0a098b2bea89e9ebe90928e9604b1b6044820152606401610df3565b601555565b60006301ffc9a760e01b6001600160e01b031983161480612a0657506380ac58cd60e01b6001600160e01b03198316145b80610d8e5750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b1480610d8e57506301ffc9a760e01b6001600160e01b0319831614610d8e565b6000612a63826129d5565b80610d8e5750506001600160e01b031916632b424ad760e21b1490565b6009546001600160a01b031633146114d65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610df3565b6127106001600160601b0382161115612b485760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610df3565b6001600160a01b038216612b9e5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610df3565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b600081600111158015612beb575060005482105b8015610d8e575050600090815260046020526040902054600160e01b161590565b6000612c178261163f565b9050336001600160a01b03821614612c5057612c338133610c60565b612c50576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008180600111612d0257600054811015612d025760008181526004602052604081205490600160e01b82169003612d00575b80600003612058575060001901600081815260046020526040902054612cdf565b505b604051636f96cda160e11b815260040160405180910390fd5b612d236131a2565b600e54604051630565a4ad60e31b81523360048201526000916001600160a01b031690632b2d256890602401602060405180830381865afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613e56565b60115490915060ff1680612db3575060008181526012602052604090205460ff16155b612dcf5760405162461bcd60e51b8152600401610df390613e6f565b611ed1565b612ddc6131ef565b6009805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03166000908152600560205260409081902054901c6001600160401b031690565b6000612ef083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612eea925088915061323f9050565b90613292565b600d546001600160a01b03918216911614949350505050565b612f238282604051806020016040528060008152506132b6565b5050565b612f2f6131a2565b6009805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612e0c3390565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610d8e9061331c565b336001600160a01b03831603612fcf5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290613070903390899088908890600401614099565b6020604051808303816000875af19250505080156130ab575060408051601f3d908101601f191682019092526130a8918101906140d6565b60015b613109573d8080156130d9576040519150601f19603f3d011682016040523d82523d6000602084013e6130de565b606091505b508051600003613101576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b604080516080810182526000808252602082018190529181018290526060810191909152610d8e61315683612cac565b61331c565b606060138054610e6190613e1c565b604080516080019081905280825b600183039250600a81066030018353600a9004806131785750819003601f19909101908152919050565b600954600160a01b900460ff16156114d65760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610df3565b600954600160a01b900460ff166114d65760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610df3565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b60008060006132a18585613363565b915091506132ae816133a5565b509392505050565b6132c0838361355b565b6001600160a01b0383163b156114f3576000548281035b6132ea600086838060010194508661303b565b613307576040516368d2bf6b60e11b815260040160405180910390fd5b8181106132d7578160005414611ed157600080fd5b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b60008082516041036133995760208301516040840151606085015160001a61338d87828585613666565b945094505050506112d8565b506000905060026112d8565b60008160048111156133b9576133b96140f3565b036133c15750565b60018160048111156133d5576133d56140f3565b036134225760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610df3565b6002816004811115613436576134366140f3565b036134835760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610df3565b6003816004811115613497576134976140f3565b036134ef5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610df3565b6004816004811115613503576135036140f3565b03610e4f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610df3565b60008054908290036135805760405163b562e8dd60e01b815260040160405180910390fd5b61358d6000848385612d1b565b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461363c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613604565b508160000361365d57604051622e076360e81b815260040160405180910390fd5b60005550505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561369d575060009050600361374a565b8460ff16601b141580156136b557508460ff16601c14155b156136c6575060009050600461374a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561371a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166137435760006001925092505061374a565b9150600090505b94509492505050565b8280548282559060005260206000209081019282156137a6579160200282015b828111156137a65781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190613773565b506137b29291506137f1565b5090565b8280548282559060005260206000209081019282156137a6579160200282015b828111156137a65782358255916020019190600101906137d6565b5b808211156137b257600081556001016137f2565b6001600160e01b031981168114610e4f57600080fd5b60006020828403121561382e57600080fd5b813561205881613806565b80356001600160a01b038116811461385057600080fd5b919050565b60006020828403121561386757600080fd5b61205882613839565b60005b8381101561388b578181015183820152602001613873565b50506000910152565b600081518084526138ac816020860160208601613870565b601f01601f19169290920160200192915050565b6020815260006120586020830184613894565b6000602082840312156138e557600080fd5b5035919050565b600080604083850312156138ff57600080fd5b61390883613839565b946020939093013593505050565b60008060006060848603121561392b57600080fd5b61393484613839565b925061394260208501613839565b9150604084013590509250925092565b6000806040838503121561396557600080fd5b50508035926020909101359150565b60006020828403121561398657600080fd5b81356001600160601b038116811461205857600080fd5b60008083601f8401126139af57600080fd5b5081356001600160401b038111156139c657600080fd5b6020830191508360208285010111156112d857600080fd5b600080602083850312156139f157600080fd5b82356001600160401b03811115613a0757600080fd5b613a138582860161399d565b90969095509350505050565b60008083601f840112613a3157600080fd5b5081356001600160401b03811115613a4857600080fd5b6020830191508360208260051b85010111156112d857600080fd5b60008060208385031215613a7657600080fd5b82356001600160401b03811115613a8c57600080fd5b613a1385828601613a1f565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b81811015611d3157613b03838551613a98565b9284019260809290920191600101613af0565b600080600080600060808688031215613b2e57600080fd5b8535945060208601356001600160401b03811115613b4b57600080fd5b613b578882890161399d565b9699909850959660408101359660609091013595509350505050565b60008060008060408587031215613b8957600080fd5b84356001600160401b0380821115613ba057600080fd5b613bac88838901613a1f565b90965094506020870135915080821115613bc557600080fd5b50613bd287828801613a1f565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b81811015611d3157835183529284019291840191600101613bfa565b8035801515811461385057600080fd5b600060208284031215613c3857600080fd5b61205882613c16565b600080600060608486031215613c5657600080fd5b613c5f84613839565b95602085013595506040909401359392505050565b60008060408385031215613c8757600080fd5b613c9083613839565b9150613c9e60208401613c16565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215613cd357600080fd5b613cdc85613839565b9350613cea60208601613839565b92506040850135915060608501356001600160401b0380821115613d0d57600080fd5b818701915087601f830112613d2157600080fd5b813581811115613d3357613d33613ca7565b604051601f8201601f19908116603f01168101908382118183101715613d5b57613d5b613ca7565b816040528281528a6020848701011115613d7457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60808101610d8e8284613a98565b600080600060608486031215613dbb57600080fd5b83359250613dcb60208501613839565b915060408401356001600160401b0381168114613de757600080fd5b809150509250925092565b60008060408385031215613e0557600080fd5b613e0e83613839565b9150613c9e60208401613839565b600181811c90821680613e3057607f821691505b602082108103613e5057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613e6857600080fd5b5051919050565b602080825260149082015273424c4f434b4c49535445445f45584348414e474560601b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610d8e57610d8e613e9d565b600082613ee757634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201613f4b57613f4b613e9d565b5060010190565b601f8211156114f357600081815260208120601f850160051c81016020861015613f795750805b601f850160051c820191505b818110156111ff57828155600101613f85565b6001600160401b03831115613faf57613faf613ca7565b613fc383613fbd8354613e1c565b83613f52565b6000601f841160018114613ff75760008515613fdf5750838201355b600019600387901b1c1916600186901b178355611ed1565b600083815260209020601f19861690835b828110156140285786850135825560209485019460019092019101614008565b50868210156140455760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b80820180821115610d8e57610d8e613e9d565b6000835161407c818460208801613870565b835190830190614090818360208801613870565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906140cc90830184613894565b9695505050505050565b6000602082840312156140e857600080fd5b815161205881613806565b634e487b7160e01b600052602160045260246000fdfea264697066735822122058f551fe235500625405945672240334f9fc58763c0dfafcaf8ac80f48bd87d064736f6c63430008110033697066733a2f2f6261667962656967616a786e7a7376796c7673746b33796b6e6f66766c35746c32756e6665337062677734323376366d347675746a6c61723564612f000000000000000000000000ca71b13c9465c2117f3dbba294c2f4134c629c72
Deployed Bytecode
0x6080604052600436106104255760003560e01c8063858179ff11610229578063c23dc68f1161012e578063e03aaae6116100b6578063f48707741161007a578063f487077414610cce578063f68578a314610cee578063fb3cc6c214610d0e578063fc5181f914610d2f578063fdbd5ac814610d4f57600080fd5b8063e03aaae614610c0f578063e1b6e09814610c2f578063e985e9c514610c45578063f2fde38b14610c8e578063f47749fc14610cae57600080fd5b8063c87b56dd116100fd578063c87b56dd14610b85578063d111515d14610ba5578063d547cfb714610bba578063dc33e68114610bcf578063e030565e14610bef57600080fd5b8063c23dc68f14610ae4578063c2f1f14a14610b11578063c627525514610b45578063c872d0e814610b6557600080fd5b8063a0712d68116101b1578063ad2f852a11610180578063ad2f852a14610a2a578063b88d4fde14610a4a578063b8997a9714610a6a578063ba75298914610aa2578063bce4d6ae14610ac457600080fd5b8063a0712d68146109c1578063a07ee1aa146109d4578063a22cb465146109f4578063a945bf8014610a1457600080fd5b80639293a5c7116101f85780639293a5c71461091c57806395d89b411461093c57806398118c801461095157806399a2557a146109715780639cd233741461099157600080fd5b8063858179ff146108985780638834e93b146108ae5780638da5cb5b146108ce5780638fc88c48146108ec57600080fd5b80633f4ba83a1161032f57806370a08231116102b7578063759990fb11610286578063759990fb146108095780637705f9b51461081c578063771c17fe1461083c5780638456cb59146108565780638462151c1461086b57600080fd5b806370a0823114610794578063715018a6146107b457806372f80224146107c957806373532802146107e957600080fd5b80635bbb2177116102fe5780635bbb2177146106f35780635c975abb1461072057806360d938dc1461073f5780636352211e1461075e5780636dd00f271461077e57600080fd5b80633f4ba83a1461067e57806342842e0e146106935780634e00c667146106b357806355f804b3146106d357600080fd5b80631d0a4d7f116103b25780632a55205a116103815780632a55205a146105d457806331faafb41461061357806332cb6b0c146106335780633549345e146106495780633ccfd60b1461066957600080fd5b80631d0a4d7f1461055e5780631e84c4131461057457806323b872dd1461059457806326cd76db146105b457600080fd5b806306fdde03116103f957806306fdde03146104ba578063081812fc146104dc578063095ea7b31461051457806318160ddd14610534578063191f883b1461054957600080fd5b80620e7fa81461042a57806301ffc9a71461045357806304ff2d071461048357806306d254da1461049a575b600080fd5b34801561043657600080fd5b5061044060185481565b6040519081526020015b60405180910390f35b34801561045f57600080fd5b5061047361046e36600461381c565b610d65565b604051901515815260200161044a565b34801561048f57600080fd5b50610498610d94565b005b3480156104a657600080fd5b506104986104b5366004613855565b610e13565b3480156104c657600080fd5b506104cf610e52565b60405161044a91906138c0565b3480156104e857600080fd5b506104fc6104f73660046138d3565b610ee4565b6040516001600160a01b03909116815260200161044a565b34801561052057600080fd5b5061049861052f3660046138ec565b610f28565b34801561054057600080fd5b50610440610fe9565b34801561055557600080fd5b50610498610ff7565b34801561056a57600080fd5b5061044060175481565b34801561058057600080fd5b506011546104739062010000900460ff1681565b3480156105a057600080fd5b506104986105af366004613916565b611061565b3480156105c057600080fd5b506104986105cf366004613855565b611207565b3480156105e057600080fd5b506105f46105ef366004613952565b611231565b604080516001600160a01b03909316835260208301919091520161044a565b34801561061f57600080fd5b5061049861062e366004613974565b6112df565b34801561063f57600080fd5b5061044060145481565b34801561065557600080fd5b506104986106643660046138d3565b611322565b34801561067557600080fd5b5061049861132f565b34801561068a57600080fd5b506104986114c6565b34801561069f57600080fd5b506104986106ae366004613916565b6114d8565b3480156106bf57600080fd5b506104986106ce3660046138d3565b6114f8565b3480156106df57600080fd5b506104986106ee3660046139de565b611505565b3480156106ff57600080fd5b5061071361070e366004613a63565b611574565b60405161044a9190613ad4565b34801561072c57600080fd5b50600954600160a01b900460ff16610473565b34801561074b57600080fd5b5060115461047390610100900460ff1681565b34801561076a57600080fd5b506104fc6107793660046138d3565b61163f565b34801561078a57600080fd5b5061044060195481565b3480156107a057600080fd5b506104406107af366004613855565b61164a565b3480156107c057600080fd5b50610498611698565b3480156107d557600080fd5b506104986107e43660046138d3565b6116aa565b3480156107f557600080fd5b506104986108043660046138d3565b6116b7565b610498610817366004613b16565b611766565b34801561082857600080fd5b50610498610837366004613b73565b611acf565b34801561084857600080fd5b506011546104739060ff1681565b34801561086257600080fd5b50610498611c25565b34801561087757600080fd5b5061088b610886366004613855565b611c35565b60405161044a9190613bde565b3480156108a457600080fd5b50610440601a5481565b3480156108ba57600080fd5b506104406108c93660046138d3565b611d3d565b3480156108da57600080fd5b506009546001600160a01b03166104fc565b3480156108f857600080fd5b506104406109073660046138d3565b60009081526008602052604090205460a01c90565b34801561092857600080fd5b50610498610937366004613c26565b611d5e565b34801561094857600080fd5b506104cf611de4565b34801561095d57600080fd5b5061049861096c366004613b73565b611df3565b34801561097d57600080fd5b5061088b61098c366004613c41565b611ed8565b34801561099d57600080fd5b506104736109ac3660046138d3565b60126020526000908152604090205460ff1681565b6104986109cf3660046138d3565b61205f565b3480156109e057600080fd5b50600e546104fc906001600160a01b031681565b348015610a0057600080fd5b50610498610a0f366004613c74565b6122aa565b348015610a2057600080fd5b50610440601b5481565b348015610a3657600080fd5b50600f546104fc906001600160a01b031681565b348015610a5657600080fd5b50610498610a65366004613cbd565b612365565b348015610a7657600080fd5b50601d54610a8a906001600160601b031681565b6040516001600160601b03909116815260200161044a565b348015610aae57600080fd5b5060115461047390640100000000900460ff1681565b348015610ad057600080fd5b50610498610adf366004613c26565b6123a9565b348015610af057600080fd5b50610b04610aff3660046138d3565b61242d565b60405161044a9190613d98565b348015610b1d57600080fd5b506104fc610b2c3660046138d3565b6000908152600860205260409020544260a01b81110290565b348015610b5157600080fd5b50610498610b603660046138d3565b6124b5565b348015610b7157600080fd5b50610498610b80366004613b73565b6124c2565b348015610b9157600080fd5b506104cf610ba03660046138d3565b612623565b348015610bb157600080fd5b506104986126a6565b348015610bc657600080fd5b506104cf61271d565b348015610bdb57600080fd5b50610440610bea366004613855565b6127ab565b348015610bfb57600080fd5b50610498610c0a366004613da6565b6127b6565b348015610c1b57600080fd5b50610498610c2a3660046138d3565b612886565b348015610c3b57600080fd5b5061044060155481565b348015610c5157600080fd5b50610473610c60366004613df2565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b348015610c9a57600080fd5b50610498610ca9366004613855565b612893565b348015610cba57600080fd5b50610498610cc9366004613855565b612909565b348015610cda57600080fd5b506104fc610ce93660046138d3565b612946565b348015610cfa57600080fd5b50610498610d093660046138d3565b612970565b348015610d1a57600080fd5b50601154610473906301000000900460ff1681565b348015610d3b57600080fd5b50610498610d4a3660046138d3565b61297d565b348015610d5b57600080fd5b5061044060165481565b6000610d70826129d5565b80610d7f5750610d7f82612a23565b80610d8e5750610d8e82612a58565b92915050565b610d9c612a80565b601154640100000000900460ff1615610dfc5760405162461bcd60e51b815260206004820152601f60248201527f5041594f55545f4144445245535345535f414c52454144595f46524f5a454e0060448201526064015b60405180910390fd5b6011805464ff000000001916640100000000179055565b610e1b612a80565b600f80546001600160a01b0319166001600160a01b038316908117909155601d54610e4f91906001600160601b0316612ada565b50565b606060028054610e6190613e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054610e8d90613e1c565b8015610eda5780601f10610eaf57610100808354040283529160200191610eda565b820191906000526020600020905b815481529060010190602001808311610ebd57829003601f168201915b5050505050905090565b6000610eef82612bd7565b610f0c576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600e54604051630565a4ad60e31b81526001600160a01b0380851660048301528492600092911690632b2d256890602401602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a9190613e56565b60115490915060ff1680610fbd575060008181526012602052604090205460ff16155b610fd95760405162461bcd60e51b8152600401610df390613e6f565b610fe38484612c0c565b50505050565b600154600054036000190190565b610fff612a80565b60115460ff16156110525760405162461bcd60e51b815260206004820152601a60248201527f424c4f434b4c4953545f414c52454144595f44495341424c45440000000000006044820152606401610df3565b6011805460ff19166001179055565b600061106c82612cac565b9050836001600160a01b0316816001600160a01b03161461109f5760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176110ec576110cf8633610c60565b6110ec57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661111357604051633a954ecd60e21b815260040160405180910390fd5b6111208686866001612d1b565b801561112b57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036111bd576001840160008181526004602052604081205490036111bb5760005481146111bb5760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b61120f612a80565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600c602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916112a6575060408051808201909152600b546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906112c5906001600160601b031687613eb3565b6112cf9190613eca565b91519350909150505b9250929050565b6112e7612a80565b601d80546bffffffffffffffffffffffff19166001600160601b038316908117909155600f54610e4f916001600160a01b0390911690612ada565b61132a612a80565b601855565b6002600a54036113515760405162461bcd60e51b8152600401610df390613eec565b6002600a5561135e612a80565b600047116113ae5760405162461bcd60e51b815260206004820152601760248201527f434f4e54524143545f4841535f4e4f5f42414c414e43450000000000000000006044820152606401610df3565b4760005b6010548110156114bd576000612710601c83815481106113d4576113d4613f23565b9060005260206000200154846113ea9190613eb3565b6113f49190613eca565b905060006010838154811061140b5761140b613f23565b60009182526020822001546040516001600160a01b039091169184919081818185875af1925050503d806000811461145f576040519150601f19603f3d011682016040523d82523d6000602084013e611464565b606091505b50509050806114a85760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610df3565b505080806114b590613f39565b9150506113b2565b50506001600a55565b6114ce612a80565b6114d6612dd4565b565b6114f383838360405180602001604052806000815250612365565b505050565b611500612a80565b601955565b61150d612a80565b6011546301000000900460ff16156115675760405162461bcd60e51b815260206004820152601860248201527f4d455441444154415f4841535f4245454e5f46524f5a454e00000000000000006044820152606401610df3565b60136114f3828483613f98565b6060816000816001600160401b0381111561159157611591613ca7565b6040519080825280602002602001820160405280156115e357816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816115af5790505b50905060005b8281146116365761161186868381811061160557611605613f23565b9050602002013561242d565b82828151811061162357611623613f23565b60209081029190910101526001016115e9565b50949350505050565b6000610d8e82612cac565b60006001600160a01b038216611673576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6116a0612a80565b6114d66000612e29565b6116b2612a80565b601755565b6116bf612a80565b601454811061170a5760405162461bcd60e51b815260206004820152601760248201527609c8aaebe9a82b0bea6aaa0a098b2bea89e9ebe90928e9604b1b6044820152606401610df3565b611712610fe9565b8110156117615760405162461bcd60e51b815260206004820152601f60248201527f535550504c595f4c4f5745525f5448414e5f4d494e5445445f544f4b454e53006044820152606401610df3565b601455565b6002600a54036117885760405162461bcd60e51b8152600401610df390613eec565b6002600a553233146117d85760405162461bcd60e51b815260206004820152601960248201527810d0539393d517d0d0531317d19493d357d0d3d395149050d5603a1b6044820152606401610df3565b601154610100900460ff166118275760405162461bcd60e51b815260206004820152601560248201527450524553414c455f49535f4e4f545f41435449564560581b6044820152606401610df3565b6017548211156118755760405162461bcd60e51b815260206004820152601960248201527813505617d352539514d7d4115497d51617d15610d151511151603a1b6044820152606401610df3565b6016548261188233612e7b565b61188c9190614057565b11156118da5760405162461bcd60e51b815260206004820152601e60248201527f4d41585f4d494e54535f5045525f414444524553535f455843454544454400006044820152606401610df3565b80826118e533612e7b565b6118ef9190614057565b11156119325760405162461bcd60e51b815260206004820152601260248201527113505617d352539514d7d15610d15151115160721b6044820152606401610df3565b6015548261193e610fe9565b6119489190614057565b111561198c5760405162461bcd60e51b815260206004820152601360248201527213505617d4d55414131657d15610d151511151606a1b6044820152606401610df3565b8160185461199a9190613eb3565b34146119dc5760405162461bcd60e51b81526020600482015260116024820152701410565351539517d25390d3d4949150d5607a1b6044820152606401610df3565b6040805133602082015290810182905285906060016040516020818303038152906040528051906020012014611a465760405162461bcd60e51b815260206004820152600f60248201526e135154d4d051d157d2539590531251608a1b6044820152606401610df3565b611a51858585612ea3565b611a9d5760405162461bcd60e51b815260206004820152601b60248201527f5349474e41545552455f56414c49444154494f4e5f4641494c454400000000006044820152606401610df3565b611aa73383612f09565b601554611ab2610fe9565b10611ac3576011805461ff00191690555b50506001600a55505050565b611ad7612a80565b828114611b265760405162461bcd60e51b815260206004820152601a60248201527f4152524159535f4d5553545f42455f53414d455f4c454e4754480000000000006044820152606401610df3565b6000805b82811015611b6a57838382818110611b4457611b44613f23565b9050602002013582611b569190614057565b915080611b6281613f39565b915050611b2a565b5060145481611b77610fe9565b611b819190614057565b1115611bc05760405162461bcd60e51b815260206004820152600e60248201526d4d494e545f544f4f5f4c4152474560901b6044820152606401610df3565b60005b848110156111ff57611c13868683818110611be057611be0613f23565b9050602002016020810190611bf59190613855565b858584818110611c0757611c07613f23565b90506020020135612f09565b80611c1d81613f39565b915050611bc3565b611c2d612a80565b6114d6612f27565b60606000806000611c458561164a565b90506000816001600160401b03811115611c6157611c61613ca7565b604051908082528060200260200182016040528015611c8a578160200160208202803683370190505b509050611cb760408051608081018252600080825260208201819052918101829052606081019190915290565b60015b838614611d3157611cca81612f6a565b91508160400151611d295781516001600160a01b031615611cea57815194505b876001600160a01b0316856001600160a01b031603611d295780838780600101985081518110611d1c57611d1c613f23565b6020026020010181815250505b600101611cba565b50909695505050505050565b601c8181548110611d4d57600080fd5b600091825260209091200154905081565b611d66612a80565b801515601160029054906101000a900460ff16151503611dc85760405162461bcd60e51b815260206004820181905260248201527f4e45575f53544154455f4944454e544943414c5f544f5f4f4c445f53544154456044820152606401610df3565b60118054911515620100000262ff000019909216919091179055565b606060038054610e6190613e1c565b611dfb612a80565b828114611e4a5760405162461bcd60e51b815260206004820152601a60248201527f4152524159535f4d5553545f42455f53414d455f4c454e4754480000000000006044820152606401610df3565b60005b83811015611ed157828282818110611e6757611e67613f23565b9050602002016020810190611e7c9190613c26565b60126000878785818110611e9257611e92613f23565b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611ec990613f39565b915050611e4d565b5050505050565b6060818310611efa57604051631960ccad60e11b815260040160405180910390fd5b600080611f0660005490565b90506001851015611f1657600194505b80841115611f22578093505b6000611f2d8761164a565b905084861015611f4c5785850381811015611f46578091505b50611f50565b5060005b6000816001600160401b03811115611f6a57611f6a613ca7565b604051908082528060200260200182016040528015611f93578160200160208202803683370190505b50905081600003611fa957935061205892505050565b6000611fb48861242d565b905060008160400151611fc5575080515b885b888114158015611fd75750848714155b1561204c57611fe581612f6a565b925082604001516120445782516001600160a01b03161561200557825191505b8a6001600160a01b0316826001600160a01b031603612044578084888060010199508151811061203757612037613f23565b6020026020010181815250505b600101611fc7565b50505092835250909150505b9392505050565b6002600a54036120815760405162461bcd60e51b8152600401610df390613eec565b6002600a553233146120d15760405162461bcd60e51b815260206004820152601960248201527810d0539393d517d0d0531317d19493d357d0d3d395149050d5603a1b6044820152606401610df3565b60115462010000900460ff166121295760405162461bcd60e51b815260206004820152601960248201527f5055424c49435f53414c455f49535f4e4f545f414354495645000000000000006044820152606401610df3565b601a548111156121775760405162461bcd60e51b815260206004820152601960248201527813505617d352539514d7d4115497d51617d15610d151511151603a1b6044820152606401610df3565b6019548161218433612e7b565b61218e9190614057565b11156121d15760405162461bcd60e51b815260206004820152601260248201527113505617d352539514d7d15610d15151115160721b6044820152606401610df3565b601454816121dd610fe9565b6121e79190614057565b111561222b5760405162461bcd60e51b815260206004820152601360248201527213505617d4d55414131657d15610d151511151606a1b6044820152606401610df3565b80601b546122399190613eb3565b341461227b5760405162461bcd60e51b81526020600482015260116024820152701410565351539517d25390d3d4949150d5607a1b6044820152606401610df3565b6122853382612f09565b601454612290610fe9565b106122a2576011805462ff0000191690555b506001600a55565b600e54604051630565a4ad60e31b81526001600160a01b0380851660048301528492600092911690632b2d256890602401602060405180830381865afa1580156122f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231c9190613e56565b60115490915060ff168061233f575060008181526012602052604090205460ff16155b61235b5760405162461bcd60e51b8152600401610df390613e6f565b610fe38484612fa6565b612370848484611061565b6001600160a01b0383163b15610fe35761238c8484848461303b565b610fe3576040516368d2bf6b60e11b815260040160405180910390fd5b6123b1612a80565b801515601160019054906101000a900460ff161515036124135760405162461bcd60e51b815260206004820181905260248201527f4e45575f53544154455f4944454e544943414c5f544f5f4f4c445f53544154456044820152606401610df3565b601180549115156101000261ff0019909216919091179055565b604080516080810182526000808252602082018190529181018290526060810191909152604080516080810182526000808252602082018190529181018290526060810191909152600183108061248657506000548310155b156124915792915050565b61249a83612f6a565b90508060400151156124ac5792915050565b61205883613126565b6124bd612a80565b601b55565b6124ca612a80565b601154640100000000900460ff16156125255760405162461bcd60e51b815260206004820152601760248201527f5041594f55545f4144445245535345535f46524f5a454e0000000000000000006044820152606401610df3565b8281146125745760405162461bcd60e51b815260206004820152601860248201527f41525241595f4c454e475448535f4d5553545f4d4154434800000000000000006044820152606401610df3565b6000805b828110156125b85783838281811061259257612592613f23565b90506020020135826125a49190614057565b9150806125b081613f39565b915050612578565b50806127101461260a5760405162461bcd60e51b815260206004820181905260248201527f544f54414c5f42415349535f504f494e54535f4d5553545f42455f31303030306044820152606401610df3565b61261660108686613753565b506111ff601c84846137b6565b606061262e82612bd7565b61264b57604051630a14c4b560e41b815260040160405180910390fd5b600061265561315b565b905080516000036126755760405180602001604052806000815250612058565b8061267f8461316a565b60405160200161269092919061406a565b6040516020818303038152906040529392505050565b6126ae612a80565b6011546301000000900460ff16156127085760405162461bcd60e51b815260206004820181905260248201527f4d455441444154415f4841535f414c52454144595f4245454e5f46524f5a454e6044820152606401610df3565b6011805463ff00000019166301000000179055565b6013805461272a90613e1c565b80601f016020809104026020016040519081016040528092919081815260200182805461275690613e1c565b80156127a35780601f10612778576101008083540402835291602001916127a3565b820191906000526020600020905b81548152906001019060200180831161278657829003601f168201915b505050505081565b6000610d8e82612e7b565b60006127c18461163f565b9050336001600160a01b03821614612812576127dd8133610c60565b61281257336127eb85610ee4565b6001600160a01b031614612812576040516309e3bb1d60e31b815260040160405180910390fd5b6000848152600860209081526040918290206001600160a01b03861660a086901b67ffffffffffffffff60a01b16811790915591516001600160401b038516815286917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe910160405180910390a350505050565b61288e612a80565b601a55565b61289b612a80565b6001600160a01b0381166129005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610df3565b610e4f81612e29565b612911612a80565b6001600160a01b03811661292457600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6010818154811061295657600080fd5b6000918252602090912001546001600160a01b0316905081565b612978612a80565b601655565b612985612a80565b60155481106129d05760405162461bcd60e51b815260206004820152601760248201527609c8aaebe9a82b0bea6aaa0a098b2bea89e9ebe90928e9604b1b6044820152606401610df3565b601555565b60006301ffc9a760e01b6001600160e01b031983161480612a0657506380ac58cd60e01b6001600160e01b03198316145b80610d8e5750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b1480610d8e57506301ffc9a760e01b6001600160e01b0319831614610d8e565b6000612a63826129d5565b80610d8e5750506001600160e01b031916632b424ad760e21b1490565b6009546001600160a01b031633146114d65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610df3565b6127106001600160601b0382161115612b485760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610df3565b6001600160a01b038216612b9e5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610df3565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600b55565b600081600111158015612beb575060005482105b8015610d8e575050600090815260046020526040902054600160e01b161590565b6000612c178261163f565b9050336001600160a01b03821614612c5057612c338133610c60565b612c50576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008180600111612d0257600054811015612d025760008181526004602052604081205490600160e01b82169003612d00575b80600003612058575060001901600081815260046020526040902054612cdf565b505b604051636f96cda160e11b815260040160405180910390fd5b612d236131a2565b600e54604051630565a4ad60e31b81523360048201526000916001600160a01b031690632b2d256890602401602060405180830381865afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d909190613e56565b60115490915060ff1680612db3575060008181526012602052604090205460ff16155b612dcf5760405162461bcd60e51b8152600401610df390613e6f565b611ed1565b612ddc6131ef565b6009805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03166000908152600560205260409081902054901c6001600160401b031690565b6000612ef083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612eea925088915061323f9050565b90613292565b600d546001600160a01b03918216911614949350505050565b612f238282604051806020016040528060008152506132b6565b5050565b612f2f6131a2565b6009805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612e0c3390565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610d8e9061331c565b336001600160a01b03831603612fcf5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290613070903390899088908890600401614099565b6020604051808303816000875af19250505080156130ab575060408051601f3d908101601f191682019092526130a8918101906140d6565b60015b613109573d8080156130d9576040519150601f19603f3d011682016040523d82523d6000602084013e6130de565b606091505b508051600003613101576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b604080516080810182526000808252602082018190529181018290526060810191909152610d8e61315683612cac565b61331c565b606060138054610e6190613e1c565b604080516080019081905280825b600183039250600a81066030018353600a9004806131785750819003601f19909101908152919050565b600954600160a01b900460ff16156114d65760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610df3565b600954600160a01b900460ff166114d65760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610df3565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b60008060006132a18585613363565b915091506132ae816133a5565b509392505050565b6132c0838361355b565b6001600160a01b0383163b156114f3576000548281035b6132ea600086838060010194508661303b565b613307576040516368d2bf6b60e11b815260040160405180910390fd5b8181106132d7578160005414611ed157600080fd5b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b60008082516041036133995760208301516040840151606085015160001a61338d87828585613666565b945094505050506112d8565b506000905060026112d8565b60008160048111156133b9576133b96140f3565b036133c15750565b60018160048111156133d5576133d56140f3565b036134225760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610df3565b6002816004811115613436576134366140f3565b036134835760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610df3565b6003816004811115613497576134976140f3565b036134ef5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610df3565b6004816004811115613503576135036140f3565b03610e4f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610df3565b60008054908290036135805760405163b562e8dd60e01b815260040160405180910390fd5b61358d6000848385612d1b565b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461363c57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613604565b508160000361365d57604051622e076360e81b815260040160405180910390fd5b60005550505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561369d575060009050600361374a565b8460ff16601b141580156136b557508460ff16601c14155b156136c6575060009050600461374a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561371a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166137435760006001925092505061374a565b9150600090505b94509492505050565b8280548282559060005260206000209081019282156137a6579160200282015b828111156137a65781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190613773565b506137b29291506137f1565b5090565b8280548282559060005260206000209081019282156137a6579160200282015b828111156137a65782358255916020019190600101906137d6565b5b808211156137b257600081556001016137f2565b6001600160e01b031981168114610e4f57600080fd5b60006020828403121561382e57600080fd5b813561205881613806565b80356001600160a01b038116811461385057600080fd5b919050565b60006020828403121561386757600080fd5b61205882613839565b60005b8381101561388b578181015183820152602001613873565b50506000910152565b600081518084526138ac816020860160208601613870565b601f01601f19169290920160200192915050565b6020815260006120586020830184613894565b6000602082840312156138e557600080fd5b5035919050565b600080604083850312156138ff57600080fd5b61390883613839565b946020939093013593505050565b60008060006060848603121561392b57600080fd5b61393484613839565b925061394260208501613839565b9150604084013590509250925092565b6000806040838503121561396557600080fd5b50508035926020909101359150565b60006020828403121561398657600080fd5b81356001600160601b038116811461205857600080fd5b60008083601f8401126139af57600080fd5b5081356001600160401b038111156139c657600080fd5b6020830191508360208285010111156112d857600080fd5b600080602083850312156139f157600080fd5b82356001600160401b03811115613a0757600080fd5b613a138582860161399d565b90969095509350505050565b60008083601f840112613a3157600080fd5b5081356001600160401b03811115613a4857600080fd5b6020830191508360208260051b85010111156112d857600080fd5b60008060208385031215613a7657600080fd5b82356001600160401b03811115613a8c57600080fd5b613a1385828601613a1f565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b81811015611d3157613b03838551613a98565b9284019260809290920191600101613af0565b600080600080600060808688031215613b2e57600080fd5b8535945060208601356001600160401b03811115613b4b57600080fd5b613b578882890161399d565b9699909850959660408101359660609091013595509350505050565b60008060008060408587031215613b8957600080fd5b84356001600160401b0380821115613ba057600080fd5b613bac88838901613a1f565b90965094506020870135915080821115613bc557600080fd5b50613bd287828801613a1f565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b81811015611d3157835183529284019291840191600101613bfa565b8035801515811461385057600080fd5b600060208284031215613c3857600080fd5b61205882613c16565b600080600060608486031215613c5657600080fd5b613c5f84613839565b95602085013595506040909401359392505050565b60008060408385031215613c8757600080fd5b613c9083613839565b9150613c9e60208401613c16565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215613cd357600080fd5b613cdc85613839565b9350613cea60208601613839565b92506040850135915060608501356001600160401b0380821115613d0d57600080fd5b818701915087601f830112613d2157600080fd5b813581811115613d3357613d33613ca7565b604051601f8201601f19908116603f01168101908382118183101715613d5b57613d5b613ca7565b816040528281528a6020848701011115613d7457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60808101610d8e8284613a98565b600080600060608486031215613dbb57600080fd5b83359250613dcb60208501613839565b915060408401356001600160401b0381168114613de757600080fd5b809150509250925092565b60008060408385031215613e0557600080fd5b613e0e83613839565b9150613c9e60208401613839565b600181811c90821680613e3057607f821691505b602082108103613e5057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613e6857600080fd5b5051919050565b602080825260149082015273424c4f434b4c49535445445f45584348414e474560601b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610d8e57610d8e613e9d565b600082613ee757634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201613f4b57613f4b613e9d565b5060010190565b601f8211156114f357600081815260208120601f850160051c81016020861015613f795750805b601f850160051c820191505b818110156111ff57828155600101613f85565b6001600160401b03831115613faf57613faf613ca7565b613fc383613fbd8354613e1c565b83613f52565b6000601f841160018114613ff75760008515613fdf5750838201355b600019600387901b1c1916600186901b178355611ed1565b600083815260209020601f19861690835b828110156140285786850135825560209485019460019092019101614008565b50868210156140455760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b80820180821115610d8e57610d8e613e9d565b6000835161407c818460208801613870565b835190830190614090818360208801613870565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906140cc90830184613894565b9695505050505050565b6000602082840312156140e857600080fd5b815161205881613806565b634e487b7160e01b600052602160045260246000fdfea264697066735822122058f551fe235500625405945672240334f9fc58763c0dfafcaf8ac80f48bd87d064736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ca71b13c9465c2117f3dbba294c2f4134c629c72
-----Decoded View---------------
Arg [0] : _blocklistContractAddress (address): 0xca71B13C9465c2117f3DBBA294c2f4134c629C72
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ca71b13c9465c2117f3dbba294c2f4134c629c72
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.