[ { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "InvalidConfig", "type": "error" }, { "inputs": [], "name": "InvalidQueryRange", "type": "error" }, { "inputs": [], "name": "LockedForever", "type": "error" }, { "inputs": [], "name": "MaxSupplyExceeded", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "NotPlatform", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "WrongPassword", "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": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "key", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "cid", "type": "bytes32" } ], "name": "Invited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "affiliate", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint128", "name": "wad", "type": "uint128" }, { "indexed": false, "internalType": "uint256", "name": "numMints", "type": "uint256" } ], "name": "Referral", "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": true, "internalType": "address", "name": "src", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint128", "name": "wad", "type": "uint128" } ], "name": "Withdrawal", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "affiliate", "type": "address" } ], "name": "affiliateBalance", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "affiliate", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "affiliateBalanceToken", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" }, { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } ], "internalType": "struct Auth", "name": "auth", "type": "tuple" }, { "internalType": "address[]", "name": "toList", "type": "address[]" }, { "internalType": "uint256[]", "name": "quantityList", "type": "uint256[]" }, { "internalType": "address", "name": "affiliate", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "batchMintTo", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "burnConfig", "outputs": [ { "internalType": "contract IERC721AUpgradeable", "name": "archetype", "type": "address" }, { "internalType": "address", "name": "burnAddress", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" }, { "internalType": "bool", "name": "reversed", "type": "bool" }, { "internalType": "uint16", "name": "ratio", "type": "uint16" }, { "internalType": "uint64", "name": "start", "type": "uint64" }, { "internalType": "uint64", "name": "limit", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "burnToMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "bool", "name": "affiliateUsed", "type": "bool" } ], "name": "computePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "config", "outputs": [ { "internalType": "string", "name": "baseUri", "type": "string" }, { "internalType": "address", "name": "affiliateSigner", "type": "address" }, { "internalType": "address", "name": "ownerAltPayout", "type": "address" }, { "internalType": "address", "name": "superAffiliatePayout", "type": "address" }, { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "uint32", "name": "maxBatchSize", "type": "uint32" }, { "internalType": "uint16", "name": "affiliateFee", "type": "uint16" }, { "internalType": "uint16", "name": "platformFee", "type": "uint16" }, { "internalType": "uint16", "name": "defaultRoyalty", "type": "uint16" }, { "components": [ { "internalType": "uint16", "name": "affiliateDiscount", "type": "uint16" }, { "components": [ { "internalType": "uint16", "name": "numMints", "type": "uint16" }, { "internalType": "uint16", "name": "mintDiscount", "type": "uint16" } ], "internalType": "struct MintTier[]", "name": "mintTiers", "type": "tuple[]" } ], "internalType": "struct Discount", "name": "discounts", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableBurnToMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "disableRoyaltyEnforcement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "archetype", "type": "address" }, { "internalType": "address", "name": "burnAddress", "type": "address" }, { "internalType": "bool", "name": "reversed", "type": "bool" }, { "internalType": "uint16", "name": "ratio", "type": "uint16" }, { "internalType": "uint64", "name": "start", "type": "uint64" }, { "internalType": "uint64", "name": "limit", "type": "uint64" } ], "name": "enableBurnToMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableRoyaltyEnforcement", "outputs": [], "stateMutability": "nonpayable", "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 IERC721AUpgradeable.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 IERC721AUpgradeable.TokenOwnership[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "components": [ { "internalType": "string", "name": "baseUri", "type": "string" }, { "internalType": "address", "name": "affiliateSigner", "type": "address" }, { "internalType": "address", "name": "ownerAltPayout", "type": "address" }, { "internalType": "address", "name": "superAffiliatePayout", "type": "address" }, { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "uint32", "name": "maxBatchSize", "type": "uint32" }, { "internalType": "uint16", "name": "affiliateFee", "type": "uint16" }, { "internalType": "uint16", "name": "platformFee", "type": "uint16" }, { "internalType": "uint16", "name": "defaultRoyalty", "type": "uint16" }, { "components": [ { "internalType": "uint16", "name": "affiliateDiscount", "type": "uint16" }, { "components": [ { "internalType": "uint16", "name": "numMints", "type": "uint16" }, { "internalType": "uint16", "name": "mintDiscount", "type": "uint16" } ], "internalType": "struct MintTier[]", "name": "mintTiers", "type": "tuple[]" } ], "internalType": "struct Discount", "name": "discounts", "type": "tuple" } ], "internalType": "struct Config", "name": "config_", "type": "tuple" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "invites", "outputs": [ { "internalType": "uint128", "name": "price", "type": "uint128" }, { "internalType": "uint128", "name": "reservePrice", "type": "uint128" }, { "internalType": "uint128", "name": "delta", "type": "uint128" }, { "internalType": "uint32", "name": "start", "type": "uint32" }, { "internalType": "uint32", "name": "end", "type": "uint32" }, { "internalType": "uint32", "name": "limit", "type": "uint32" }, { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "uint32", "name": "interval", "type": "uint32" }, { "internalType": "uint32", "name": "unitSize", "type": "uint32" }, { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" } ], "name": "listSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockAffiliateFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockDiscounts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockMaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockOwnerAltPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockRoyaltyEnforcement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "password", "type": "string" } ], "name": "lockURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" }, { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } ], "internalType": "struct Auth", "name": "auth", "type": "tuple" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "address", "name": "affiliate", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" }, { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } ], "internalType": "struct Auth", "name": "auth", "type": "tuple" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "address", "name": "affiliate", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mintTo", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter", "type": "address" }, { "internalType": "bytes32", "name": "key", "type": "bytes32" } ], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "options", "outputs": [ { "internalType": "bool", "name": "uriLocked", "type": "bool" }, { "internalType": "bool", "name": "maxSupplyLocked", "type": "bool" }, { "internalType": "bool", "name": "affiliateFeeLocked", "type": "bool" }, { "internalType": "bool", "name": "discountsLocked", "type": "bool" }, { "internalType": "bool", "name": "ownerAltPayoutLocked", "type": "bool" }, { "internalType": "bool", "name": "royaltyEnforcementEnabled", "type": "bool" }, { "internalType": "bool", "name": "royaltyEnforcementLocked", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ownerBalance", "outputs": [ { "components": [ { "internalType": "uint128", "name": "owner", "type": "uint128" }, { "internalType": "uint128", "name": "platform", "type": "uint128" } ], "internalType": "struct OwnerBalance", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "ownerBalanceToken", "outputs": [ { "components": [ { "internalType": "uint128", "name": "owner", "type": "uint128" }, { "internalType": "uint128", "name": "platform", "type": "uint128" } ], "internalType": "struct OwnerBalance", "name": "", "type": "tuple" } ], "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": "platform", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "affiliateFee", "type": "uint16" } ], "name": "setAffiliateFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseUri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint16", "name": "feeNumerator", "type": "uint16" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "affiliateDiscount", "type": "uint16" }, { "components": [ { "internalType": "uint16", "name": "numMints", "type": "uint16" }, { "internalType": "uint16", "name": "mintDiscount", "type": "uint16" } ], "internalType": "struct MintTier[]", "name": "mintTiers", "type": "tuple[]" } ], "internalType": "struct Discount", "name": "discounts", "type": "tuple" } ], "name": "setDiscounts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_key", "type": "bytes32" }, { "internalType": "bytes32", "name": "_cid", "type": "bytes32" }, { "components": [ { "internalType": "uint128", "name": "price", "type": "uint128" }, { "internalType": "uint128", "name": "reservePrice", "type": "uint128" }, { "internalType": "uint128", "name": "delta", "type": "uint128" }, { "internalType": "uint32", "name": "start", "type": "uint32" }, { "internalType": "uint32", "name": "end", "type": "uint32" }, { "internalType": "uint32", "name": "limit", "type": "uint32" }, { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "uint32", "name": "interval", "type": "uint32" }, { "internalType": "uint32", "name": "unitSize", "type": "uint32" }, { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "internalType": "struct DutchInvite", "name": "_dutchInvite", "type": "tuple" } ], "name": "setDutchInvite", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_key", "type": "bytes32" }, { "internalType": "bytes32", "name": "_cid", "type": "bytes32" }, { "components": [ { "internalType": "uint128", "name": "price", "type": "uint128" }, { "internalType": "uint32", "name": "start", "type": "uint32" }, { "internalType": "uint32", "name": "end", "type": "uint32" }, { "internalType": "uint32", "name": "limit", "type": "uint32" }, { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "uint32", "name": "unitSize", "type": "uint32" }, { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "internalType": "struct Invite", "name": "_invite", "type": "tuple" } ], "name": "setInvite", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "maxBatchSize", "type": "uint32" } ], "name": "setMaxBatchSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "maxSupply", "type": "uint32" }, { "internalType": "string", "name": "password", "type": "string" } ], "name": "setMaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "ownerAltPayout", "type": "address" } ], "name": "setOwnerAltPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "superAffiliatePayout", "type": "address" } ], "name": "setSuperAffiliatePayout", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "tokens", "type": "address[]" } ], "name": "withdrawTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b50615abf80620000216000396000f3fe6080604052600436106103a25760003560e01c806379502c55116101e7578063b828aa831161010d578063ce216e2f116100a0578063ead005531161006f578063ead0055314610e19578063ef88317214610e39578063f2fde38b14610e59578063fd614f2a14610e7957600080fd5b8063ce216e2f14610d99578063d71d8d2314610db9578063de6cd0db14610dd9578063e985e9c514610df957600080fd5b8063c23dc68f116100dc578063c23dc68f14610d0c578063c7494df714610d39578063c87b56dd14610d59578063caf3e53214610d7957600080fd5b8063b828aa8314610bbd578063b88d4fde14610c74578063bcc1ed0714610c87578063bedcf00314610c9a57600080fd5b8063978a450911610185578063a3edb86a11610154578063a3edb86a14610a38578063a5aa4aa414610a7b578063ac2aa9e414610b88578063b80175fb14610b9d57600080fd5b8063978a45091461098157806399a2557a146109cb5780639a7a973c146109eb578063a22cb46514610a1857600080fd5b80638462151c116101c15780638462151c1461090e5780638da5cb5b1461093b5780639564e8e41461095957806395d89b411461096c57600080fd5b806379502c55146108ae5780637b789d97146108d95780637c5d0a08146108ee57600080fd5b80633ccfd60b116102cc57806355f804b31161026a5780636f33659f116102395780636f33659f1461083957806370a0823114610859578063715018a61461087957806371f78f8c1461088e57600080fd5b806355f804b3146107ac5780635bbb2177146107cc5780635ecb16cd146107f95780636352211e1461081957600080fd5b806342842e0e116102a657806342842e0e1461073f5780634331f639146107525780634a21a2df146107725780634bde38c81461078557600080fd5b80633ccfd60b146106ea578063400e3db9146106ff57806340b7570f1461071f57600080fd5b80631069143a1161034457806327a594371161031357806327a59437146105d35780632a55205a1461066b57806332f7c6d4146106aa5780633386cc4e146106ca57600080fd5b80631069143a146104a057806318160ddd1461053657806321d5bf241461055957806323b872dd146105c057600080fd5b806308a0d6bc1161038057806308a0d6bc14610436578063095ea7b3146104585780630c6f910b1461046b57806310566ef61461048b57600080fd5b806301ffc9a7146103a757806306fdde03146103dc578063081812fc146103fe575b600080fd5b3480156103b357600080fd5b506103c76103c2366004614a5b565b610e99565b60405190151581526020015b60405180910390f35b3480156103e857600080fd5b506103f1610eb9565b6040516103d391906150dd565b34801561040a57600080fd5b5061041e6104193660046148da565b610f54565b6040516001600160a01b0390911681526020016103d3565b34801561044257600080fd5b506104566104513660046145f3565b610fa1565b005b61045661046636600461475c565b6110c1565b34801561047757600080fd5b50610456610486366004614d97565b6110ec565b34801561049757600080fd5b5061045661119a565b3480156104ac57600080fd5b5060a6546104f59060ff80821691610100810482169162010000820481169163010000008104821691600160201b8204811691600160281b8104821691600160301b9091041687565b60408051971515885295151560208801529315159486019490945290151560608501521515608084015290151560a0830152151560c082015260e0016103d3565b34801561054257600080fd5b5061054b611232565b6040519081526020016103d3565b34801561056557600080fd5b506105a86105743660046145bb565b6001600160a01b039182166000908152609b602090815260408083209390941682529190915220546001600160801b031690565b6040516001600160801b0390911681526020016103d3565b6104566105ce36600461466c565b611252565b3480156105df57600080fd5b506106446105ee36600461459f565b6040805180820190915260008082526020820152506001600160a01b03166000908152609a60209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b6040805182516001600160801b0390811682526020938401511692810192909252016103d3565b34801561067757600080fd5b5061068b610686366004614dcb565b61128f565b604080516001600160a01b0390931683526020830191909152016103d3565b3480156106b657600080fd5b506104566106c5366004614a93565b61133d565b3480156106d657600080fd5b506104566106e536600461489b565b6113f9565b3480156106f657600080fd5b5061045661162c565b34801561070b57600080fd5b5061045661071a366004614e08565b61169d565b34801561072b57600080fd5b5061045661073a366004614ac5565b6117c0565b61045661074d36600461466c565b611b7d565b34801561075e57600080fd5b5061045661076d366004614787565b611bb4565b610456610780366004614cc6565b611c12565b34801561079157600080fd5b50735cf70948693087225668b3e34d7ef03dfa4ff0dc61041e565b3480156107b857600080fd5b506104566107c7366004614a93565b611c27565b3480156107d857600080fd5b506107ec6107e736600461489b565b611c99565b6040516103d39190615063565b34801561080557600080fd5b506104566108143660046147e8565b611d8e565b34801561082557600080fd5b5061041e6108343660046148da565b611e0d565b34801561084557600080fd5b50610456610854366004614dec565b611e18565b34801561086557600080fd5b5061054b61087436600461459f565b611e79565b34801561088557600080fd5b50610456611ee1565b34801561089a57600080fd5b506104566108a93660046149e7565b611ef5565b3480156108ba57600080fd5b506108c361217c565b6040516103d39a999897969594939291906150f0565b3480156108e557600080fd5b506104566122f5565b3480156108fa57600080fd5b50610456610909366004614a93565b61236c565b34801561091a57600080fd5b5061092e61092936600461459f565b612423565b6040516103d391906150a5565b34801561094757600080fd5b506000546001600160a01b031661041e565b610456610967366004614c2d565b61254e565b34801561097857600080fd5b506103f161279b565b34801561098d57600080fd5b506105a861099c36600461459f565b6001600160a01b03166000908152609b602090815260408083208380529091529020546001600160801b031690565b3480156109d757600080fd5b5061092e6109e63660046147b4565b6127b3565b3480156109f757600080fd5b5061054b610a063660046148da565b60009081526099602052604090205490565b348015610a2457600080fd5b50610456610a33366004614728565b612959565b348015610a4457600080fd5b5061054b610a5336600461475c565b6001600160a01b03919091166000908152609860209081526040808320938352929052205490565b348015610a8757600080fd5b50610b18610a963660046148da565b6097602052600090815260409020805460018201546002909201546001600160801b0380831693600160801b938490048216939181169291810463ffffffff90811692600160a01b8304821692600160c01b8104831692600160e01b90910481169181811691600160201b82041690600160401b90046001600160a01b03168a565b604080516001600160801b039b8c168152998b1660208b0152979099169688019690965263ffffffff9485166060880152928416608087015290831660a0860152821660c0850152811660e0840152166101008201526001600160a01b03909116610120820152610140016103d3565b348015610b9457600080fd5b5061045661297f565b348015610ba957600080fd5b50610456610bb83660046148f2565b612a04565b348015610bc957600080fd5b5060a35460a45460a554610c21926001600160a01b03908116929081169160ff600160a01b8304811692600160a81b81049091169161ffff600160b01b830416916001600160401b03600160c01b9091048116911687565b604080516001600160a01b03988916815297909616602088015293151594860194909452901515606085015261ffff1660808401526001600160401b0391821660a08401521660c082015260e0016103d3565b610456610c823660046146ac565b612ba9565b610456610c95366004614b60565b612be1565b348015610ca657600080fd5b50604080518082018252600080825260209182018190528052609a815281518083019092527fbe6620bd3346e5d7f8387fbec0981aa0d6289d22efa7c935f9ef6841bf2a98c7546001600160801b038082168452600160801b9091041690820152610644565b348015610d1857600080fd5b50610d2c610d273660046148da565b612eff565b6040516103d39190615348565b348015610d4557600080fd5b50610456610d54366004614a93565b612f8c565b348015610d6557600080fd5b506103f1610d743660046148da565b613047565b348015610d8557600080fd5b5061054b610d94366004614a27565b6130ca565b348015610da557600080fd5b50610456610db4366004614a93565b61317a565b348015610dc557600080fd5b50610456610dd436600461459f565b613233565b348015610de557600080fd5b50610456610df4366004614a93565b613299565b348015610e0557600080fd5b506103c7610e143660046145bb565b61334e565b348015610e2557600080fd5b50610456610e3436600461459f565b61338b565b348015610e4557600080fd5b50610456610e54366004614a93565b613413565b348015610e6557600080fd5b50610456610e7436600461459f565b6134d1565b348015610e8557600080fd5b50610456610e94366004614d4b565b613547565b6000610ea482613714565b80610eb35750610eb382613762565b92915050565b6060610ec3613797565b6002018054610ed1906156e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610efd906156e6565b8015610f4a5780601f10610f1f57610100808354040283529160200191610f4a565b820191906000526020600020905b815481529060010190602001808311610f2d57829003601f168201915b5050505050905090565b6000610f5f826137bb565b610f7c576040516333d1c03960e21b815260040160405180910390fd5b610f84613797565b60009283526006016020525060409020546001600160a01b031690565b6000546001600160a01b0316610fb5613804565b6001600160a01b031614610fdc576040516330cd747160e01b815260040160405180910390fd5b6040805160e0810182526001600160a01b0397881680825296909716602088018190526001918801919091529315156060870181905261ffff93909316608087018190526001600160401b0392831660a088018190529190921660c090960186905260a380546001600160a01b03191690951790945560a48054600160a01b6001600160a81b03199091169094179390931762ffffff60a81b1916600160a81b90920261ffff60b01b191691909117600160b01b909102176001600160c01b0316600160c01b90920291909117905560a5805467ffffffffffffffff19169091179055565b8160a654600160281b900460ff16156110dd576110dd8161382b565b6110e7838361386f565b505050565b6000546001600160a01b0316611100613804565b6001600160a01b031614611127576040516330cd747160e01b815260040160405180910390fd5b60a65462010000900460ff16156111515760405163249fab5d60e01b815260040160405180910390fd5b61138861ffff82161115611178576040516306b7c75960e31b815260040160405180910390fd5b609f805461ffff909216600160e01b0261ffff60e01b19909216919091179055565b6000546001600160a01b03166111ae613804565b6001600160a01b0316146111d5576040516330cd747160e01b815260040160405180910390fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c00181905260a380546001600160a01b031916905560a45560a5805467ffffffffffffffff19169055565b6000600161123e613797565b6001015461124a613797565b540303919050565b826001600160a01b038116331461127e5760a654600160281b900460ff161561127e5761127e3361382b565b61128984848461387b565b50505050565b60008281526066602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916113045750604080518082019091526065546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090611323906001600160601b031687615487565b61132d9190615467565b91519350909150505b9250929050565b6000546001600160a01b0316611351613804565b6001600160a01b031614611378576040516330cd747160e01b815260040160405180910390fd5b60405160200161138790615013565b60405160208183030381529060405280519060200120816040516020016113ae9190614f77565b60405160208183030381529060405280519060200120146113e257604051635ee88f9760e01b815260040160405180910390fd5b5060a6805464ff000000001916600160201b179055565b6000611403613a6a565b604051639b2e2ef360e01b815290915073425aed34f69a02d75b1e14d6adfbe214051b997490639b2e2ef39061144a90609c9060a39088908890889060989060040161523a565b60006040518083038186803b15801561146257600080fd5b505af4158015611476573d6000803e3d6000fd5b505050506000611484613804565b905060005b8381101561156a5760a4546000906001600160a01b03166114ac5761dead6114b9565b60a4546001600160a01b03165b60a3549091506001600160a01b03166323b872dd84838989878181106114ef57634e487b7160e01b600052603260045260246000fd5b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561154657600080fd5b505af115801561155a573d6000803e3d6000fd5b5050505081600101915050611489565b5060a454600090600160a81b900460ff1661159c5760a45461159790600160b01b900461ffff1685615467565b6115b4565b60a4546115b490600160b01b900461ffff1685615487565b90506115c08282613a7d565b609f5460a554600160a01b90910463ffffffff166001600160401b039091161015611625576001600160a01b038216600090815260986020908152604080832063313ab93760e11b84529091528120805483929061161f90849061544f565b90915550505b5050505050565b6040805160018082528183019092526000916020808301908036833701905050905060008160008151811061167157634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505061169a81611d8e565b50565b6000546001600160a01b03166116b1613804565b6001600160a01b0316146116d8576040516330cd747160e01b815260040160405180910390fd5b6040516020016116e790615013565b604051602081830303815290604052805190602001208160405160200161170e9190614f77565b604051602081830303815290604052805190602001201461174257604051635ee88f9760e01b815260040160405180910390fd5b60a654610100900460ff161561176b5760405163249fab5d60e01b815260040160405180910390fd5b611773613a6a565b8263ffffffff16101561179957604051638a164f6360e01b815260040160405180910390fd5b50609f805463ffffffff909216600160a01b0263ffffffff60a01b19909216919091179055565b600080516020615a6a83398151915254610100900460ff166117f557600080516020615a6a8339815191525460ff16156117f9565b303b155b6118705760405162461bcd60e51b815260206004820152603760248201527f455243373231415f5f496e697469616c697a61626c653a20636f6e747261637460448201527f20697320616c726561647920696e697469616c697a656400000000000000000060648201526084015b60405180910390fd5b600080516020615a6a83398151915254610100900460ff161580156118ac57600080516020615a6a833981519152805461ffff19166101011790555b6118b68585613bb1565b6113886118c960e0850160c08601614d97565b61ffff1611806118ee57506113886118e8610100850160e08601614d97565b61ffff16115b8061190e57506101f4611908610100850160e08601614d97565b61ffff16105b8061193957506113886119256101208501856153e1565b611933906020810190614d97565b61ffff16115b8061195c57506000611951604085016020860161459f565b6001600160a01b0316145b8061197a575061197260c0840160a08501614dec565b63ffffffff16155b15611998576040516306b7c75960e31b815260040160405180910390fd5b60015b6119a96101208501856153e1565b6119b7906020810190615356565b9050811015611afa576113886119d16101208601866153e1565b6119df906020810190615356565b838181106119fd57634e487b7160e01b600052603260045260246000fd5b9050604002016020016020810190611a159190614d97565b61ffff161180611ad45750611a2e6101208501856153e1565b611a3c906020810190615356565b611a476001846154a6565b818110611a6457634e487b7160e01b600052603260045260246000fd5b611a7a9260206040909202019081019150614d97565b61ffff16611a8c6101208601866153e1565b611a9a906020810190615356565b83818110611ab857634e487b7160e01b600052603260045260246000fd5b611ace9260206040909202019081019150614d97565b61ffff16115b15611af2576040516306b7c75960e31b815260040160405180910390fd5b60010161199b565b5082609c611b08828261578e565b905050611b13613bef565b609e546001600160a01b031615611b4657609e5460a054611b41916001600160a01b03169061ffff16611bb4565b611b58565b60a054611b5890839061ffff16611bb4565b8015611625575050600080516020615a6a833981519152805461ff0019169055505050565b826001600160a01b0381163314611ba95760a654600160281b900460ff1615611ba957611ba93361382b565b611289848484613c2b565b6000546001600160a01b0316611bc8613804565b6001600160a01b031614611bef576040516330cd747160e01b815260040160405180910390fd5b60a0805461ffff191661ffff8316908117909155611c0e908390613c46565b5050565b6116258585611c1f613804565b86868661254e565b6000546001600160a01b0316611c3b613804565b6001600160a01b031614611c62576040516330cd747160e01b815260040160405180910390fd5b60a65460ff1615611c865760405163249fab5d60e01b815260040160405180910390fd5b8051611c0e90609c9060208401906143a4565b6060816000816001600160401b03811115611cc457634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611d1657816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611ce25790505b50905060005b828114611d8557611d52868683818110611d4657634e487b7160e01b600052603260045260246000fd5b90506020020135612eff565b828281518110611d7257634e487b7160e01b600052603260045260246000fd5b6020908102919091010152600101611d1c565b50949350505050565b73425aed34f69a02d75b1e14d6adfbe214051b99746360f0e596609c609a609b611dc06000546001600160a01b031690565b866040518663ffffffff1660e01b8152600401611de19594939291906151cc565b60006040518083038186803b158015611df957600080fd5b505af4158015611625573d6000803e3d6000fd5b6000610eb382613d43565b6000546001600160a01b0316611e2c613804565b6001600160a01b031614611e53576040516330cd747160e01b815260040160405180910390fd5b609f805463ffffffff909216600160c01b0263ffffffff60c01b19909216919091179055565b60006001600160a01b038216611ea2576040516323d3ad8160e21b815260040160405180910390fd5b6001600160401b03611eb2613797565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b611ee9613dee565b611ef36000613e48565b565b6000546001600160a01b0316611f09613804565b6001600160a01b031614611f30576040516330cd747160e01b815260040160405180910390fd5b60408051610140810190915280611f4a6020840184614d7d565b6001600160801b03168152602090810190611f6790840184614d7d565b6001600160801b0316815260200160006001600160801b03168152602001826020016020810190611f989190614dec565b63ffffffff168152602001611fb36060840160408501614dec565b63ffffffff168152602001611fce6080840160608501614dec565b63ffffffff168152602001611fe960a0840160808501614dec565b63ffffffff1681526000602082015260400161200b60c0840160a08501614dec565b63ffffffff16815260200161202660e0840160c0850161459f565b6001600160a01b0390811690915260008581526097602090815260408083208551928601516001600160801b03938416600160801b91851682021782558683015160018301805460608a015160808b015160a08c015160c08d0151959099166001600160a01b03199093169290921763ffffffff9182169095029490941767ffffffffffffffff60a01b1916600160a01b9185169190910263ffffffff60c01b191617600160c01b96841696909602959095176001600160e01b0316600160e01b918316919091021790935560e0860151600290910180546101008801516101209098015192851667ffffffffffffffff1990911617600160201b979094169690960292909217600160401b600160e01b031916600160401b92909416919091029290921790925551839185917fe9a0c17645ed78ccc9996259f00297ffc75e6b9d22cd605ccc9992cc8ca3f4c19190a3505050565b609c8054819061218b906156e6565b80601f01602080910402602001604051908101604052809291908181526020018280546121b7906156e6565b80156122045780601f106121d957610100808354040283529160200191612204565b820191906000526020600020905b8154815290600101906020018083116121e757829003601f168201915b505050600184015460028501546003860154600487015460408051808201825260058a01805461ffff908116835260068c01805485516020828102820181019097528181529c9d6001600160a01b039a8b169d998b169c509988169a5063ffffffff600160a01b890481169a600160c01b8a0490911699600160e01b8a04851699600160f01b90048516989094169690959493818601939092909160009084015b828210156122e8576000848152602090819020604080518082019091529084015461ffff80821683526201000090910416818301528252600190920191016122a5565b505050508152505090508a565b6000546001600160a01b0316612309613804565b6001600160a01b031614612330576040516330cd747160e01b815260040160405180910390fd5b60a654600160301b900460ff161561235b5760405163249fab5d60e01b815260040160405180910390fd5b60a6805465ff000000000019169055565b6000546001600160a01b0316612380613804565b6001600160a01b0316146123a7576040516330cd747160e01b815260040160405180910390fd5b6040516020016123b690615013565b60405160208183030381529060405280519060200120816040516020016123dd9190614f77565b604051602081830303815290604052805190602001201461241157604051635ee88f9760e01b815260040160405180910390fd5b5060a6805461ff001916610100179055565b6060600080600061243385611e79565b90506000816001600160401b0381111561245d57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612486578160200160208202803683370190505b5090506124b360408051608081018252600080825260208201819052918101829052606081019190915290565b60015b838614612542576124c681613e98565b91508160400151156124d75761253a565b81516001600160a01b0316156124ec57815194505b876001600160a01b0316856001600160a01b0316141561253a578083878060010198508151811061252d57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b6001016124b6565b50909695505050505050565b8535600090815260976020526040902060028101546001600160201b90910463ffffffff16111561259857600281015461259590600160201b900463ffffffff1687615487565b95505b60006125a2613a6a565b905073425aed34f69a02d75b1e14d6adfbe214051b9974638c42a15083609c8b8b6125d56000546001600160a01b031690565b8b88609860998e8e6040518c63ffffffff1660e01b81526004016126039b9a9998979695949392919061526f565b60006040518083038186803b15801561261b57600080fd5b505af415801561262f573d6000803e3d6000fd5b5050505061263d8688613a7d565b600182015463ffffffff600160e01b82048116600160c01b9092041610156126b657866098600061266c613804565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008a60000135815260200190815260200160002060008282546126b0919061544f565b90915550505b609f546001830154600160a01b90910463ffffffff908116600160e01b909204161015612703578735600090815260996020526040812080548992906126fd90849061544f565b90915550505b6040516329ba982960e21b815260048101839052609c6024820152609a6044820152609b60648201526001600160a01b038616608482015260a4810188905273425aed34f69a02d75b1e14d6adfbe214051b99749063a6ea60a49060c40160006040518083038186803b15801561277957600080fd5b505af415801561278d573d6000803e3d6000fd5b505050505050505050505050565b60606127a5613797565b6003018054610ed1906156e6565b60608183106127d557604051631960ccad60e11b815260040160405180910390fd5b6000806127e0613edf565b905060018510156127f057600194505b808411156127fc578093505b600061280787611e79565b9050848610156128265785850381811015612820578091505b5061282a565b5060005b6000816001600160401b0381111561285257634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561287b578160200160208202803683370190505b5090508161288e57935061295292505050565b600061289988612eff565b9050600081604001516128aa575080515b885b8881141580156128bc5750848714155b15612946576128ca81613e98565b92508260400151156128db5761293e565b82516001600160a01b0316156128f057825191505b8a6001600160a01b0316826001600160a01b0316141561293e578084888060010199508151811061293157634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b6001016128ac565b50505092835250909150505b9392505050565b8160a654600160281b900460ff1615612975576129758161382b565b6110e78383613eef565b6000546001600160a01b0316612993613804565b6001600160a01b0316146129ba576040516330cd747160e01b815260040160405180910390fd5b60a654600160301b900460ff16156129e55760405163249fab5d60e01b815260040160405180910390fd5b6129ed613f6c565b60a6805465ff00000000001916600160281b179055565b6000546001600160a01b0316612a18613804565b6001600160a01b031614612a3f576040516330cd747160e01b815260040160405180910390fd5b42816060015163ffffffff161015612a5e5763ffffffff421660608201525b60008381526097602090815260408083208451928501516001600160801b03938416600160801b918516820217825585830151600183018054606089015160808a015160a08b015160c08c0151959099166001600160a01b03199093169290921763ffffffff9182169095029490941767ffffffffffffffff60a01b1916600160a01b9185169190910263ffffffff60c01b191617600160c01b96841696909602959095176001600160e01b0316600160e01b918316919091021790935560e08501516002909101805461010087015161012088015193861667ffffffffffffffff1990921691909117600160201b919095160293909317600160401b600160e01b031916600160401b6001600160a01b03909216919091021790915551839185917fe9a0c17645ed78ccc9996259f00297ffc75e6b9d22cd605ccc9992cc8ca3f4c19190a3505050565b836001600160a01b0381163314612bd55760a654600160281b900460ff1615612bd557612bd53361382b565b61162585858585613f8b565b838614612c01576040516306b7c75960e31b815260040160405180910390fd5b8735600090815260976020526040812090612c1a613a6a565b90506000805b89811015612d0d5760028401546000906001600160201b90910463ffffffff161115612c90576002850154600160201b900463ffffffff168a8a84818110612c7857634e487b7160e01b600052603260045260246000fd5b90506020020135612c899190615487565b9050612cba565b898983818110612cb057634e487b7160e01b600052603260045260246000fd5b9050602002013590505b612cc4818461544f565b9250612d048c8c84818110612ce957634e487b7160e01b600052603260045260246000fd5b9050602002016020810190612cfe919061459f565b82613a7d565b50600101612c20565b5073425aed34f69a02d75b1e14d6adfbe214051b9974638c42a15084609c8e85612d3f6000546001600160a01b031690565b8c89609860998f8f6040518c63ffffffff1660e01b8152600401612d6d9b9a9998979695949392919061526f565b60006040518083038186803b158015612d8557600080fd5b505af4158015612d99573d6000803e3d6000fd5b505050600184015463ffffffff600160e01b82048116600160c01b9092041610159050612e17578060986000612dcd613804565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6000013581526020019081526020016000206000828254612e11919061544f565b90915550505b609f546001840154600160a01b90910463ffffffff908116600160e01b909204161015612e64578a3560009081526099602052604081208054839290612e5e90849061544f565b90915550505b6040516329ba982960e21b815260048101849052609c6024820152609a6044820152609b60648201526001600160a01b038716608482015260a4810182905273425aed34f69a02d75b1e14d6adfbe214051b99749063a6ea60a49060c40160006040518083038186803b158015612eda57600080fd5b505af4158015612eee573d6000803e3d6000fd5b505050505050505050505050505050565b6040805160808101825260008082526020820181905291810182905260608101919091526040805160808101825260008082526020820181905291810182905260608101919091526001831080612f5d5750612f59613edf565b8310155b15612f685792915050565b612f7183613e98565b9050806040015115612f835792915050565b61295283613fcf565b6000546001600160a01b0316612fa0613804565b6001600160a01b031614612fc7576040516330cd747160e01b815260040160405180910390fd5b604051602001612fd690615013565b6040516020818303038152906040528051906020012081604051602001612ffd9190614f77565b604051602081830303815290604052805190602001201461303157604051635ee88f9760e01b815260040160405180910390fd5b5060a6805463ff00000019166301000000179055565b6060613052826137bb565b61306f57604051630a14c4b560e41b815260040160405180910390fd5b609c805461307c906156e6565b151590506130995760405180602001604052806000815250610eb3565b609c6130a483614004565b6040516020016130b5929190614f93565b60405160208183030381529060405292915050565b6000838152609760205260408082209051633e09927360e21b81526004810182905260a1602482015260448101859052831515606482015273425aed34f69a02d75b1e14d6adfbe214051b99749063f82649cc9060840160206040518083038186803b15801561313957600080fd5b505af415801561314d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131719190614db3565b95945050505050565b6000546001600160a01b031661318e613804565b6001600160a01b0316146131b5576040516330cd747160e01b815260040160405180910390fd5b6040516020016131c490615013565b60405160208183030381529060405280519060200120816040516020016131eb9190614f77565b604051602081830303815290604052805190602001201461321f57604051635ee88f9760e01b815260040160405180910390fd5b5060a6805462ff0000191662010000179055565b735cf70948693087225668b3e34d7ef03dfa4ff0dc613250613804565b6001600160a01b0316146132775760405163016bdfed60e71b815260040160405180910390fd5b609f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03166132ad613804565b6001600160a01b0316146132d4576040516330cd747160e01b815260040160405180910390fd5b6040516020016132e390615013565b604051602081830303815290604052805190602001208160405160200161330a9190614f77565b604051602081830303815290604052805190602001201461333e57604051635ee88f9760e01b815260040160405180910390fd5b5060a6805460ff19166001179055565b6000613358613797565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b6000546001600160a01b031661339f613804565b6001600160a01b0316146133c6576040516330cd747160e01b815260040160405180910390fd5b60a654600160201b900460ff16156133f15760405163249fab5d60e01b815260040160405180910390fd5b609e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316613427613804565b6001600160a01b03161461344e576040516330cd747160e01b815260040160405180910390fd5b60405160200161345d90615013565b60405160208183030381529060405280519060200120816040516020016134849190614f77565b60405160208183030381529060405280519060200120146134b857604051635ee88f9760e01b815260040160405180910390fd5b5060a6805466ff0000000000001916600160301b179055565b6134d9613dee565b6001600160a01b03811661353e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611867565b61169a81613e48565b6000546001600160a01b031661355b613804565b6001600160a01b031614613582576040516330cd747160e01b815260040160405180910390fd5b60a6546301000000900460ff16156135ad5760405163249fab5d60e01b815260040160405180910390fd5b6113886135bd6020830183614d97565b61ffff1611156135e0576040516306b7c75960e31b815260040160405180910390fd5b60015b6135f06020830183615356565b9050811015613706576113886136096020840184615356565b8381811061362757634e487b7160e01b600052603260045260246000fd5b905060400201602001602081019061363f9190614d97565b61ffff1611806136e057506136576020830183615356565b6136626001846154a6565b81811061367f57634e487b7160e01b600052603260045260246000fd5b6136959260206040909202019081019150614d97565b61ffff166136a66020840184615356565b838181106136c457634e487b7160e01b600052603260045260246000fd5b6136da9260206040909202019081019150614d97565b61ffff16115b156136fe576040516306b7c75960e31b815260040160405180910390fd5b6001016135e3565b508060a16110e782826158f8565b60006301ffc9a760e01b6001600160e01b03198316148061374557506380ac58cd60e01b6001600160e01b03198316145b80610eb35750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b1480610eb357506301ffc9a760e01b6001600160e01b0319831614610eb3565b7f2569078dfb4b0305704d3008e7403993ae9601b85f7ae5e742de3de8f8011c4090565b6000816001111580156137d557506137d1613797565b5482105b8015610eb35750600160e01b6137e9613797565b60008481526004919091016020526040902054161592915050565b600033730e1356208ca2eb9cc4efaeb42cc8287cb7ed8e1f1461382657503390565b503290565b69c617113400112233445560005230601a5280603a52600080604460166daaeb6d7670e522a718067333cd4e5afa613867573d6000803e3d6000fd5b6000603a5250565b611c0e82826001614052565b600061388682613d43565b9050836001600160a01b0316816001600160a01b0316146138b95760405162a1148160e81b815260040160405180910390fd5b6000806138c584614107565b915091506138ea81876138d53390565b6001600160a01b039081169116811491141790565b613915576138f8863361334e565b61391557604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661393c57604051633a954ecd60e21b815260040160405180910390fd5b801561394757600082555b61394f613797565b6001600160a01b038716600090815260059190910160205260409020805460001901905561397b613797565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b176139b2613797565b60008681526004919091016020526040902055600160e11b8316613a2157600184016139dc613797565b60008281526004919091016020526040902054613a1f576139fb613797565b548114613a1f5783613a0b613797565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b60006001613a76613797565b5403919050565b6000613a87613797565b54905081613aa85760405163b562e8dd60e01b815260040160405180910390fd5b680100000000000000018202613abc613797565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b1717613af7613797565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114613b8157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613b49565b5081613b9f57604051622e076360e81b815260040160405180910390fd5b80613ba8613797565b55506110e79050565b600080516020615a6a83398151915254610100900460ff16613be55760405162461bcd60e51b815260040161186790615178565b611c0e828261412f565b600080516020615a6a83398151915254610100900460ff16613c235760405162461bcd60e51b815260040161186790615178565b611ef36141b2565b6110e783838360405180602001604052806000815250612ba9565b6127106001600160601b0382161115613cb45760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401611867565b6001600160a01b038216613d0a5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401611867565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217606555565b600081600111613dd557613d55613797565b600083815260049190910160205260409020549050600160e01b8116613dd55780613dd057613d82613797565b548210613da257604051636f96cda160e11b815260040160405180910390fd5b613daa613797565b6000199092016000818152600493909301602052604090922054905080613dd057613da2565b919050565b604051636f96cda160e11b815260040160405180910390fd5b6000546001600160a01b03163314611ef35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611867565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516080810182526000808252602082018190529181018290526060810191909152610eb3613ec7613797565b600084815260049190910160205260409020546141ef565b6000613ee9613797565b54919050565b80613ef8613797565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611ef3733cc6cdda760b79bafa08df41ecfa224f810dceb66001614236565b613f96848484611252565b6001600160a01b0383163b1561128957613fb2848484846142ac565b611289576040516368d2bf6b60e11b815260040160405180910390fd5b604080516080810182526000808252602082018190529181018290526060810191909152610eb3613fff83613d43565b6141ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a90048061403a5761403f565b61401f565b5050819003601f19909101908152919050565b600061405d83611e0d565b9050811561409c57336001600160a01b0382161461409c5761407f813361334e565b61409c576040516367d9dca160e11b815260040160405180910390fd5b836140a5613797565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6000806000614114613797565b60009485526006016020525050604090912080549092909150565b600080516020615a6a83398151915254610100900460ff166141635760405162461bcd60e51b815260040161186790615178565b8161416c613797565b60020190805190602001906141829291906143a4565b508061418c613797565b60030190805190602001906141a29291906143a4565b5060016141ad613797565b555050565b600080516020615a6a83398151915254610100900460ff166141e65760405162461bcd60e51b815260040161186790615178565b611ef333613e48565b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b6001600160a01b0390911690637d3e3dbe81614263578261425c5750634420e486614263565b5063a0af29035b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af16142a2578060005160e01c14156142a257600080fd5b5060006024525050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906142e1903390899088908890600401615026565b602060405180830381600087803b1580156142fb57600080fd5b505af192505050801561432b575060408051601f3d908101601f1916820190925261432891810190614a77565b60015b614386573d808015614359576040519150601f19603f3d011682016040523d82523d6000602084013e61435e565b606091505b50805161437e576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b8280546143b0906156e6565b90600052602060002090601f0160209004810192826143d25760008555614418565b82601f106143eb57805160ff1916838001178555614418565b82800160010185558215614418579182015b828111156144185782518255916020019190600101906143fd565b50614424929150614428565b5090565b5b808211156144245760008155600101614429565b60006001600160401b0383111561445657614456615731565b614469601f8401601f191660200161541f565b905082815283838301111561447d57600080fd5b828260208301376000602084830101529392505050565b8035613dd081615a1c565b60008083601f8401126144b0578182fd5b5081356001600160401b038111156144c6578182fd5b6020830191508360208260051b850101111561133657600080fd5b80358015158114613dd057600080fd5b60008083601f840112614502578182fd5b5081356001600160401b03811115614518578182fd5b60208301915083602082850101111561133657600080fd5b600082601f830112614540578081fd5b6129528383356020850161443d565b600060408284031215614560578081fd5b50919050565b80356001600160801b0381168114613dd057600080fd5b8035613dd081615a57565b80356001600160401b0381168114613dd057600080fd5b6000602082840312156145b0578081fd5b813561295281615a1c565b600080604083850312156145cd578081fd5b82356145d881615a1c565b915060208301356145e881615a1c565b809150509250929050565b60008060008060008060c0878903121561460b578182fd5b863561461681615a1c565b9550602087013561462681615a1c565b9450614634604088016144e1565b9350606087013561464481615a47565b925061465260808801614588565b915061466060a08801614588565b90509295509295509295565b600080600060608486031215614680578081fd5b833561468b81615a1c565b9250602084013561469b81615a1c565b929592945050506040919091013590565b600080600080608085870312156146c1578182fd5b84356146cc81615a1c565b935060208501356146dc81615a1c565b92506040850135915060608501356001600160401b038111156146fd578182fd5b8501601f8101871361470d578182fd5b61471c8782356020840161443d565b91505092959194509250565b6000806040838503121561473a578182fd5b823561474581615a1c565b9150614753602084016144e1565b90509250929050565b6000806040838503121561476e578182fd5b823561477981615a1c565b946020939093013593505050565b60008060408385031215614799578182fd5b82356147a481615a1c565b915060208301356145e881615a47565b6000806000606084860312156147c8578081fd5b83356147d381615a1c565b95602085013595506040909401359392505050565b600060208083850312156147fa578182fd5b82356001600160401b0380821115614810578384fd5b818501915085601f830112614823578384fd5b81358181111561483557614835615731565b8060051b915061484684830161541f565b8181528481019084860184860187018a1015614860578788fd5b8795505b8386101561488e578035945061487985615a1c565b84835260019590950194918601918601614864565b5098975050505050505050565b600080602083850312156148ad578182fd5b82356001600160401b038111156148c2578283fd5b6148ce8582860161449f565b90969095509350505050565b6000602082840312156148eb578081fd5b5035919050565b6000806000838503610180811215614908578182fd5b843593506020850135925061014080603f1983011215614926578283fd5b61492e6153f6565b915061493c60408701614566565b825261494a60608701614566565b602083015261495b60808701614566565b604083015261496c60a0870161457d565b606083015261497d60c0870161457d565b608083015261498e60e0870161457d565b60a08301526101006149a181880161457d565b60c08401526101206149b481890161457d565b60e08501526149c483890161457d565b828501526149d56101608901614494565b81850152505050809150509250925092565b60008060008385036101208112156149fd578182fd5b843593506020850135925060e0603f1982011215614a19578182fd5b506040840190509250925092565b600080600060608486031215614a3b578081fd5b8335925060208401359150614a52604085016144e1565b90509250925092565b600060208284031215614a6c578081fd5b813561295281615a31565b600060208284031215614a88578081fd5b815161295281615a31565b600060208284031215614aa4578081fd5b81356001600160401b03811115614ab9578182fd5b61439c84828501614530565b60008060008060808587031215614ada578182fd5b84356001600160401b0380821115614af0578384fd5b614afc88838901614530565b95506020870135915080821115614b11578384fd5b614b1d88838901614530565b94506040870135915080821115614b32578384fd5b5085016101408188031215614b45578283fd5b91506060850135614b5581615a1c565b939692955090935050565b60008060008060008060008060a0898b031215614b7b578586fd5b88356001600160401b0380821115614b91578788fd5b614b9d8c838d0161454f565b995060208b0135915080821115614bb2578788fd5b614bbe8c838d0161449f565b909950975060408b0135915080821115614bd6578384fd5b614be28c838d0161449f565b909750955060608b01359150614bf782615a1c565b90935060808a01359080821115614c0c578384fd5b50614c198b828c016144f1565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215614c45578384fd5b86356001600160401b0380821115614c5b578586fd5b614c678a838b0161454f565b97506020890135965060408901359150614c8082615a1c565b909450606088013590614c9282615a1c565b90935060808801359080821115614ca7578384fd5b50614cb489828a016144f1565b979a9699509497509295939492505050565b600080600080600060808688031215614cdd578283fd5b85356001600160401b0380821115614cf3578485fd5b614cff89838a0161454f565b96506020880135955060408801359150614d1882615a1c565b90935060608701359080821115614d2d578283fd5b50614d3a888289016144f1565b969995985093965092949392505050565b600060208284031215614d5c578081fd5b81356001600160401b03811115614d71578182fd5b61439c8482850161454f565b600060208284031215614d8e578081fd5b61295282614566565b600060208284031215614da8578081fd5b813561295281615a47565b600060208284031215614dc4578081fd5b5051919050565b60008060408385031215614ddd578182fd5b50508035926020909101359150565b600060208284031215614dfd578081fd5b813561295281615a57565b60008060408385031215614e1a578182fd5b8235614e2581615a57565b915060208301356001600160401b03811115614e3f578182fd5b614e4b85828601614530565b9150509250929050565b81835260006001600160fb1b03831115614e6d578081fd5b8260051b80836020870137939093016020019283525090919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008151808452614eca8160208601602086016155d1565b601f01601f19169290920160200192915050565b6000604080840161ffff808551168652602080860151848289015283815180865260608a01915083830195508792505b8083101561488e578551805186168352840151851684830152948301946001929092019190860190614f0e565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b60008251614f898184602087016155d1565b9190910192915050565b6000808454614fa1816156e6565b60018281168015614fb95760018114614fca57614ff6565b60ff19841687528287019450614ff6565b8886526020808720875b85811015614fed5781548a820152908401908201614fd4565b50505082870194505b50505050835161500a8183602088016155d1565b01949350505050565b663337b932bb32b960c91b815260070190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061505990830184614eb2565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561254257615092838551614f3b565b928401926080929092019160010161507f565b6020808252825182820181905260009190848201906040850190845b81811015612542578351835292840192918401916001016150c1565b6020815260006129526020830184614eb2565b60006101408083526151048184018e614eb2565b6001600160a01b038d811660208601528c811660408601528b16606085015263ffffffff8a81166080860152891660a085015261ffff88811660c086015287811660e0860152861661010085015283810361012085015290506151678185614ede565b9d9c50505050505050505050505050565b60208082526034908201527f455243373231415f5f496e697469616c697a61626c653a20636f6e7472616374604082015273206973206e6f7420696e697469616c697a696e6760601b606082015260800190565b600060a082018783526020878185015286604085015260018060a01b03808716606086015260a0608086015282865180855260c0870191508388019450855b8181101561522957855184168352948401949184019160010161520b565b50909b9a5050505050505050505050565b86815285602082015260a06040820152600061525a60a083018688614e55565b60608301949094525060800152949350505050565b60006101408d83528c60208401528060408401528b35818401525060208b0135601e198c36030181126152a0578182fd5b8b0180356001600160401b038111156152b7578283fd5b8060051b36038d13156152c8578283fd5b60406101608501526152e261018085018260208501614e55565b9150508a6060840152615300608084018b6001600160a01b03169052565b6001600160a01b03891660a08401528760c08401528660e084015285610100840152828103610120840152615336818587614e89565b9e9d5050505050505050505050505050565b60808101610eb38284614f3b565b6000808335601e1984360301811261536c578283fd5b8301803591506001600160401b03821115615385578283fd5b6020019150600681901b360382131561133657600080fd5b6000808335601e198436030181126153b3578283fd5b8301803591506001600160401b038211156153cc578283fd5b60200191503681900382131561133657600080fd5b60008235603e19833603018112614f89578182fd5b60405161014081016001600160401b038111828210171561541957615419615731565b60405290565b604051601f8201601f191681016001600160401b038111828210171561544757615447615731565b604052919050565b600082198211156154625761546261571b565b500190565b60008261548257634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156154a1576154a161571b565b500290565b6000828210156154b8576154b861571b565b500390565b5b81811015611c0e57600081556001016154be565b6001600160401b038311156154e9576154e9615731565b6154f381546156e6565b600080601f8611601f8411818117156155125760008681526020902092505b801561554157601f880160051c8301602089101561552d5750825b61553f601f870160051c8501826154bd565b505b5080600181146155755760009450871561555c578387013594505b600188901b60001960038a901b1c1986161786556155c7565b601f198816945082845b8681101561559f578886013582556020958601956001909201910161557f565b50888610156155bc5760001960f88a60031b161c19858901351681555b5060018860011b0186555b5050505050505050565b60005b838110156155ec5781810151838201526020016155d4565b838111156112895750506000910152565b813561560881615a47565b815461ffff191661ffff82161782555060018082016020840135601e1985360301811261563457600080fd5b840180356001600160401b0381111561564c57600080fd5b6020820191508060061b360382131561566457600080fd5b600160401b81111561567857615678615731565b8254818455808210156156ad576000848152602081208381019083015b808210156156a95782825590870190615695565b5050505b50600092835260208320925b818110156156dd576156cb83856159d8565b928401926040929092019184016156b9565b50505050505050565b600181811c908216806156fa57607f821691505b6020821081141561456057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60008135610eb381615a1c565b60008135610eb381615a47565b60008135610eb381615a57565b80546001600160a01b0319166001600160a01b0392909216919091179055565b615798828361539d565b6157a38183856154d2565b50506157bd6157b460208401615747565b6001830161576e565b6157d56157cc60408401615747565b6002830161576e565b600381016157ee6157e860608501615747565b8261576e565b6158216157fd60808501615761565b82805463ffffffff60a01b191660a09290921b63ffffffff60a01b16919091179055565b61585461583060a08501615761565b82805463ffffffff60c01b191660c09290921b63ffffffff60c01b16919091179055565b61588361586360c08501615754565b82805461ffff60e01b191660e09290921b61ffff60e01b16919091179055565b6158b661589260e08501615754565b8280546001600160f01b031660f09290921b6001600160f01b031916919091179055565b506158de6158c76101008401615754565b6004830161ffff821661ffff198254161781555050565b611c0e6158ef6101208401846153e1565b600583016155fd565b813561590381615a47565b815461ffff191661ffff82161782555060018082016020840135601e1985360301811261592f57600080fd5b840180356001600160401b0381111561594757600080fd5b6020820191508060061b360382131561595f57600080fd5b600160401b81111561597357615973615731565b8254818455808210156159a8576000848152602081208381019083015b808210156159a45782825590870190615990565b5050505b50600092835260208320925b818110156156dd576159c683856159d8565b928401926040929092019184016159b4565b81356159e381615a47565b815461ffff191661ffff8216178255506020820135615a0181615a47565b815463ffff0000191660109190911b63ffff00001617905550565b6001600160a01b038116811461169a57600080fd5b6001600160e01b03198116811461169a57600080fd5b61ffff8116811461169a57600080fd5b63ffffffff8116811461169a57600080fdfeee151c8401928dc223602bb187aff91b9a56c7cae5476ef1b3287b085a16c85fa2646970667358221220482c974f78470db94ba826b173e7f9490a830947e8100a252684712bca438de064736f6c63430008040033