[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ContractMetadataUnauthorized", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "CurrencyTransferLibFailedNativeTransfer", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expected", "type": "uint256" }, { "internalType": "uint256", "name": "actual", "type": "uint256" } ], "name": "DropClaimExceedLimit", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expected", "type": "uint256" }, { "internalType": "uint256", "name": "actual", "type": "uint256" } ], "name": "DropClaimExceedMaxSupply", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "expectedCurrency", "type": "address" }, { "internalType": "uint256", "name": "expectedPricePerToken", "type": "uint256" }, { "internalType": "address", "name": "actualCurrency", "type": "address" }, { "internalType": "uint256", "name": "actualExpectedPricePerToken", "type": "uint256" } ], "name": "DropClaimInvalidTokenPrice", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expected", "type": "uint256" }, { "internalType": "uint256", "name": "actual", "type": "uint256" } ], "name": "DropClaimNotStarted", "type": "error" }, { "inputs": [], "name": "DropExceedMaxSupply", "type": "error" }, { "inputs": [], "name": "DropNoActiveCondition", "type": "error" }, { "inputs": [], "name": "DropUnauthorized", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expected", "type": "uint256" }, { "internalType": "uint256", "name": "actual", "type": "uint256" } ], "name": "OpenEditionInvalidMsgValue", "type": "error" }, { "inputs": [], "name": "OpenEditionInvalidTokenId", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "OpenEditionNotApprovedOrOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "OpenEditionTransferRestricted", "type": "error" }, { "inputs": [], "name": "OwnableUnauthorized", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "PermissionsAlreadyGranted", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "expected", "type": "address" }, { "internalType": "address", "name": "actual", "type": "address" } ], "name": "PermissionsInvalidPermission", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "PermissionsUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "PrimarySaleInvalidRecipient", "type": "error" }, { "inputs": [], "name": "PrimarySaleUnauthorized", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "max", "type": "uint256" }, { "internalType": "uint256", "name": "actual", "type": "uint256" } ], "name": "RoyaltyExceededMaxFeeBps", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "RoyaltyInvalidRecipient", "type": "error" }, { "inputs": [], "name": "RoyaltyUnauthorized", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenMigrateAlreadyMigrated", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "tokenOwner", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenMigrateInvalidProof", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenMigrateInvalidTokenId", "type": "error" }, { "inputs": [], "name": "TokenMigrateUnauthorized", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_toTokenId", "type": "uint256" } ], "name": "BatchMetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint256", "name": "startTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "maxClaimableSupply", "type": "uint256" }, { "internalType": "uint256", "name": "supplyClaimed", "type": "uint256" }, { "internalType": "uint256", "name": "quantityLimitPerWallet", "type": "uint256" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "pricePerToken", "type": "uint256" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "indexed": false, "internalType": "struct IClaimCondition.ClaimCondition[]", "name": "claimConditions", "type": "tuple[]" }, { "indexed": false, "internalType": "bool", "name": "resetEligibility", "type": "bool" } ], "name": "ClaimConditionsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "prevURI", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newURI", "type": "string" } ], "name": "ContractURIUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newRoyaltyRecipient", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "newRoyaltyBps", "type": "uint256" } ], "name": "DefaultRoyalty", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "prevOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "PrimarySaleRecipientUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "royaltyRecipient", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "royaltyBps", "type": "uint256" } ], "name": "RoyaltyForToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "string", "name": "description", "type": "string" }, { "indexed": false, "internalType": "string", "name": "imageURI", "type": "string" }, { "indexed": false, "internalType": "string", "name": "animationURI", "type": "string" } ], "name": "SharedMetadataUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "claimConditionIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "claimer", "type": "address" }, { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "startTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "quantityClaimed", "type": "uint256" } ], "name": "TokensClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint256", "name": "_pricePerToken", "type": "uint256" }, { "components": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "uint256", "name": "quantityLimitPerWallet", "type": "uint256" }, { "internalType": "uint256", "name": "pricePerToken", "type": "uint256" }, { "internalType": "address", "name": "currency", "type": "address" } ], "internalType": "struct IDrop.AllowlistProof", "name": "_allowlistProof", "type": "tuple" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "claim", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "claimCondition", "outputs": [ { "internalType": "uint256", "name": "currentStartId", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getActiveClaimConditionId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_conditionId", "type": "uint256" } ], "name": "getClaimConditionById", "outputs": [ { "components": [ { "internalType": "uint256", "name": "startTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "maxClaimableSupply", "type": "uint256" }, { "internalType": "uint256", "name": "supplyClaimed", "type": "uint256" }, { "internalType": "uint256", "name": "quantityLimitPerWallet", "type": "uint256" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "pricePerToken", "type": "uint256" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "internalType": "struct IClaimCondition.ClaimCondition", "name": "condition", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDefaultRoyaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "member", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getRoyaltyInfoForToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_conditionId", "type": "uint256" }, { "internalType": "address", "name": "_claimer", "type": "address" } ], "name": "getSupplyClaimedByWallet", "outputs": [ { "internalType": "uint256", "name": "supplyClaimedByWallet", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRoleWithSwitch", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_defaultAdmin", "type": "address" }, { "internalType": "address", "name": "__originalContract", "type": "address" }, { "internalType": "bytes32", "name": "_ownershipMerkleRoot", "type": "bytes32" }, { "internalType": "string", "name": "_contractURI", "type": "string" } ], "name": "initialize", "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": "address", "name": "_tokenOwner", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" } ], "name": "migrate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextTokenIdToClaim", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextTokenIdToMint", "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": "primarySaleRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": [ { "components": [ { "internalType": "uint256", "name": "startTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "maxClaimableSupply", "type": "uint256" }, { "internalType": "uint256", "name": "supplyClaimed", "type": "uint256" }, { "internalType": "uint256", "name": "quantityLimitPerWallet", "type": "uint256" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "pricePerToken", "type": "uint256" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "string", "name": "metadata", "type": "string" } ], "internalType": "struct IClaimCondition.ClaimCondition[]", "name": "_conditions", "type": "tuple[]" }, { "internalType": "bool", "name": "_resetClaimEligibility", "type": "bool" } ], "name": "setClaimConditions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setContractURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyRecipient", "type": "address" }, { "internalType": "uint256", "name": "_royaltyBps", "type": "uint256" } ], "name": "setDefaultRoyaltyInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_saleRecipient", "type": "address" } ], "name": "setPrimarySaleRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_bps", "type": "uint256" } ], "name": "setRoyaltyInfoForToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "imageURI", "type": "string" }, { "internalType": "string", "name": "animationURI", "type": "string" } ], "internalType": "struct ISharedMetadata.SharedMetadataInfo", "name": "_metadata", "type": "tuple" } ], "name": "setSharedMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sharedMetadata", "outputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "string", "name": "imageURI", "type": "string" }, { "internalType": "string", "name": "animationURI", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalMinted", "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": "uint256", "name": "_conditionId", "type": "uint256" }, { "internalType": "address", "name": "_claimer", "type": "address" }, { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint256", "name": "_pricePerToken", "type": "uint256" }, { "components": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" }, { "internalType": "uint256", "name": "quantityLimitPerWallet", "type": "uint256" }, { "internalType": "uint256", "name": "pricePerToken", "type": "uint256" }, { "internalType": "address", "name": "currency", "type": "address" } ], "internalType": "struct IDrop.AllowlistProof", "name": "_allowlistProof", "type": "tuple" } ], "name": "verifyClaim", "outputs": [ { "internalType": "bool", "name": "isOverride", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b50600054610100900460ff1615808015620000335750600054600160ff909116105b806200004f5750303b1580156200004f575060005460ff166001145b620000b75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000db576000805461ff0019166101001790555b801562000122576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50615ac980620001336000396000f3fe6080604052600436106102755760003560e01c80638da5cb5b1161014b5780638da5cb5b146106265780639010d07c1461064457806391d148541461066457806392928e0414610684578063938e3d7b146106a457806395d89b41146106c45780639bcf7a15146106d9578063a217fddf146106f9578063a22cb4651461070e578063a2309ff81461072e578063a32fa5b314610747578063a7d27d9d14610767578063ac9650d814610787578063acd083f8146107b4578063ad1eefc5146107ca578063b24f2d391461080c578063b280f70314610837578063b88d4fde1461085c578063c68907de1461087c578063c87b56dd14610891578063ca15c873146108b1578063d1959f48146108d1578063d547741f146108f1578063d637ed5914610911578063e6798baa1461093a578063e8a3d4851461094e578063e985e9c51461096357600080fd5b806301ffc9a71461027a57806306fdde03146102af578063079fe40e146102d1578063081812fc146102f3578063095ea7b31461031357806313af40351461033557806318160ddd1461035557806323a2902b1461037457806323b872dd14610394578063248a9ca3146103b45780632a55205a146103e15780632f2ff15d1461040f5780632f745c591461042f57806336568abe1461044f5780633b1475a71461046f57806342842e0e1461048457806342966c68146104a45780634cc157df146104c45780634f6ccce714610506578063600dd5ea146105265780636352211e146105465780636f4f2837146105665780636f8934f41461058657806370a08231146105b357806374bc7db7146105d35780637cb64759146105f357806384bb1e4214610613575b600080fd5b34801561028657600080fd5b5061029a61029536600461463d565b610983565b60405190151581526020015b60405180910390f35b3480156102bb57600080fd5b506102c46109af565b6040516102a691906146aa565b3480156102dd57600080fd5b506102e6610a41565b6040516102a691906146bd565b3480156102ff57600080fd5b506102e661030e3660046146d1565b610a50565b34801561031f57600080fd5b5061033361032e3660046146ff565b610a77565b005b34801561034157600080fd5b5061033361035036600461472b565b610b91565b34801561036157600080fd5b5060a9545b6040519081526020016102a6565b34801561038057600080fd5b5061029a61038f36600461475a565b610bc2565b3480156103a057600080fd5b506103336103af3660046147d7565b610f28565b3480156103c057600080fd5b506103666103cf3660046146d1565b6000908152600b602052604090205490565b3480156103ed57600080fd5b506104016103fc366004614818565b610f59565b6040516102a692919061483a565b34801561041b57600080fd5b5061033361042a366004614853565b610f96565b34801561043b57600080fd5b5061036661044a3660046146ff565b611005565b34801561045b57600080fd5b5061033361046a366004614853565b61109b565b34801561047b57600080fd5b5060dc54610366565b34801561049057600080fd5b5061033361049f3660046147d7565b6110d2565b3480156104b057600080fd5b506103336104bf3660046146d1565b6110ed565b3480156104d057600080fd5b506104e46104df3660046146d1565b611121565b604080516001600160a01b03909316835261ffff9091166020830152016102a6565b34801561051257600080fd5b506103666105213660046146d1565b611235565b34801561053257600080fd5b506103336105413660046146ff565b6112c8565b34801561055257600080fd5b506102e66105613660046146d1565b6112f7565b34801561057257600080fd5b5061033361058136600461472b565b61132b565b34801561059257600080fd5b506105a66105a13660046146d1565b611359565b6040516102a69190614883565b3480156105bf57600080fd5b506103666105ce36600461472b565b6114b6565b3480156105df57600080fd5b506103336105ee366004614949565b61153c565b3480156105ff57600080fd5b5061033361060e3660046146d1565b61183c565b610333610621366004614a62565b61186a565b34801561063257600080fd5b506005546001600160a01b03166102e6565b34801561065057600080fd5b506102e661065f366004614818565b61194d565b34801561067057600080fd5b5061029a61067f366004614853565b611a3b565b34801561069057600080fd5b5061033361069f366004614aef565b611a66565b3480156106b057600080fd5b506103336106bf366004614b5a565b611f68565b3480156106d057600080fd5b506102c4611f96565b3480156106e557600080fd5b506103336106f4366004614b8e565b611fa5565b34801561070557600080fd5b50610366600081565b34801561071a57600080fd5b50610333610729366004614bb5565b611fd5565b34801561073a57600080fd5b5060dc5460001901610366565b34801561075357600080fd5b5061029a610762366004614853565b611fe0565b34801561077357600080fd5b50610333610782366004614be3565b612036565b34801561079357600080fd5b506107a76107a2366004614c17565b612084565b6040516102a69190614c58565b3480156107c057600080fd5b5061036660dc5481565b3480156107d657600080fd5b506103666107e5366004614853565b60009182526010602090815260408084206001600160a01b03909316845291905290205490565b34801561081857600080fd5b506002546001600160a01b03811690600160a01b900461ffff166104e4565b34801561084357600080fd5b5061084c61216d565b6040516102a69493929190614cbc565b34801561086857600080fd5b50610333610877366004614aef565b6123a9565b34801561088857600080fd5b506103666123e1565b34801561089d57600080fd5b506102c46108ac3660046146d1565b612467565b3480156108bd57600080fd5b506103666108cc3660046146d1565b6124c0565b3480156108dd57600080fd5b506103336108ec366004614d09565b612549565b3480156108fd57600080fd5b5061033361090c366004614853565b6126a5565b34801561091d57600080fd5b50600d54600e5461092c919082565b6040516102a6929190614d64565b34801561094657600080fd5b506001610366565b34801561095a57600080fd5b506102c46126c3565b34801561096f57600080fd5b5061029a61097e366004614d72565b612751565b600061098e8261277f565b806109a9575063152a902d60e11b6001600160e01b03198316145b92915050565b6060607580546109be90614da0565b80601f01602080910402602001604051908101604052809291908181526020018280546109ea90614da0565b8015610a375780601f10610a0c57610100808354040283529160200191610a37565b820191906000526020600020905b815481529060010190602001808311610a1a57829003601f168201915b5050505050905090565b6004546001600160a01b031690565b6000610a5b826127a4565b506000908152607960205260409020546001600160a01b031690565b6000610a82826112f7565b9050806001600160a01b0316836001600160a01b031603610af45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610b105750610b108133612751565b610b825760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610aeb565b610b8c83836127c9565b505050565b610b99612837565b610bb6576040516316ccb9cb60e11b815260040160405180910390fd5b610bbf81612843565b50565b6000868152600f60209081526040808320815161010081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a083015260068101546001600160a01b031660c08301526007810180548493929160e0840191610c4190614da0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6d90614da0565b8015610cba5780601f10610c8f57610100808354040283529160200191610cba565b820191906000526020600020905b815481529060010190602001808311610c9d57829003601f168201915b50505091909252505050606081015160a082015160c08301516080840151939450919290919015610d6957610d65610cf28780614dd4565b86608001518d8a602001358b604001358c6060016020810190610d15919061472b565b6040516001600160601b0319606095861b811660208301526034820194909452605481019290925290921b1660748201526088015b60405160208183030381529060405280519060200120612895565b5094505b8415610df0578560200135600003610d815782610d87565b85602001355b9250600019866040013503610d9c5781610da2565b85604001355b9150600019866040013514158015610dd357506000610dc7608088016060890161472b565b6001600160a01b031614155b610ddd5780610ded565b610ded608087016060880161472b565b90505b60008b81526010602090815260408083206001600160a01b03808f16855292529091205490898116908316141580610e285750828814155b15610e675760405163f13474e960e01b81526001600160a01b03808b166004830152602482018a90528316604482015260648101849052608401610aeb565b891580610e7c575083610e7a828c614e33565b115b15610ea75783610e8c828c614e33565b604051639e7762db60e01b8152600401610aeb929190614d64565b84602001518a8660400151610ebc9190614e33565b1115610ef25784602001518a8660400151610ed79190614e33565b60405163fe381cc960e01b8152600401610aeb929190614d64565b8451421015610f195784516040516322b1048f60e11b8152610aeb91904290600401614d64565b50505050509695505050505050565b610f323382612920565b610f4e5760405162461bcd60e51b8152600401610aeb90614e46565b610b8c83838361297f565b600080600080610f6886611121565b90945084925061ffff169050612710610f818287614e93565b610f8b9190614ec0565b925050509250929050565b6000828152600b6020526040902054610faf9033612ade565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff1615610ff7578082604051636a4e0b3560e11b8152600401610aeb92919061483a565b6110018282612b25565b5050565b6000611010836114b6565b82106110725760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610aeb565b506001600160a01b0391909116600090815260a760209081526040808320938352929052205490565b336001600160a01b038216146110c85733816040516320b4e31160e11b8152600401610aeb929190614ed4565b6110018282612b39565b610b8c838383604051806020016040528060008152506123a9565b6110f73382612920565b61111857338160405163558ee20160e01b8152600401610aeb92919061483a565b610bbf81612b90565b6000818152600360209081526040808320815180830190925280546001600160a01b03168252600101549181019190915260dd548291908410801561116e575080516001600160a01b0316155b801561117c57506020810151155b156111f75760da54604051634cc157df60e01b8152600481018690526001600160a01b0390911690634cc157df906024016040805180830381865afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ed9190614eee565b9250925050915091565b80516001600160a01b03161561121357805160208201516111ed565b50506002546001600160a01b03811693600160a01b90910461ffff1692509050565b600061124060a95490565b82106112a35760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610aeb565b60a982815481106112b6576112b6614f24565b90600052602060002001549050919050565b6112d0612837565b6112ed57604051636fae358160e11b815260040160405180910390fd5b6110018282612c21565b60008061130383612cac565b90506001600160a01b0381166109a95760405162461bcd60e51b8152600401610aeb90614f3a565b611333612837565b61135057604051631c98210f60e21b815260040160405180910390fd5b610bbf81612cc7565b6113ad60405180610100016040528060008152602001600081526020016000815260200160008152602001600080191681526020016000815260200160006001600160a01b03168152602001606081525090565b6000828152600f6020908152604091829020825161010081018452815481526001820154928101929092526002810154928201929092526003820154606082015260048201546080820152600582015460a082015260068201546001600160a01b031660c082015260078201805491929160e08401919061142d90614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461145990614da0565b80156114a65780601f1061147b576101008083540402835291602001916114a6565b820191906000526020600020905b81548152906001019060200180831161148957829003601f168201915b5050505050815250509050919050565b60006001600160a01b0382166115205760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610aeb565b506001600160a01b031660009081526078602052604090205490565b611544612837565b611561576040516356c4ef5160e01b815260040160405180910390fd5b600d54600e5481831561157b576115788284614e33565b90505b600e859055600d8190556000805b868110156116ff578015806115c157508787828181106115ab576115ab614f24565b90506020028101906115bd9190614f6c565b3582105b6115f25760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610aeb565b6000600f816116018487614e33565b815260200190815260200160002060020154905088888381811061162757611627614f24565b90506020028101906116399190614f6c565b6020013581111561165d5760405163032b539f60e11b815260040160405180910390fd5b88888381811061166f5761166f614f24565b90506020028101906116819190614f6c565b600f600061168f8588614e33565b815260200190815260200160002081816116a991906150e8565b50819050600f60006116bb8588614e33565b81526020810191909152604001600020600201558888838181106116e1576116e1614f24565b90506020028101906116f39190614f6c565b35925050600101611589565b50841561177457835b8281101561176e576000818152600f6020526040812081815560018101829055600281018290556003810182905560048101829055600581018290556006810180546001600160a01b03191690559061176460078301826145d9565b5050600101611708565b506117f8565b858311156117f857855b838110156117f657600f60006117948386614e33565b81526020810191909152604001600090812081815560018101829055600281018290556003810182905560048101829055600581018290556006810180546001600160a01b0319169055906117ec60078301826145d9565b505060010161177e565b505b7fbf4016fceeaaa4ac5cf4be865b559ff85825ab4ca7aa7b661d16e2f544c0309887878760405161182b939291906151d4565b60405180910390a150505050505050565b611844612d3a565b611861576040516327e8d25560e01b815260040160405180910390fd5b610bbf8160d955565b60006118746123e1565b9050611884813388888888610bc2565b506000818152600f6020526040812060020180548892906118a6908490614e33565b90915550506000818152601060209081526040808320338452909152812080548892906118d4908490614e33565b909155506118e790506000878787612d5c565b60006118f38888612e3a565b90506001600160a01b038816336001600160a01b0316837ffa76a4010d9533e3e964f2930a65fb6042a12fa6ff5b08281837a10b0be7321e848b60405161193b929190614d64565b60405180910390a45050505050505050565b6000828152600c602052604081205481805b82811015611a32576000868152600c602090815260408083208484526001019091529020546001600160a01b0316156119db578482036119c9576000868152600c602090815260408083209383526001909301905220546001600160a01b031692506109a9915050565b6119d4600183614e33565b9150611a20565b6119e6866000611a3b565b8015611a0d57506000868152600c6020908152604080832083805260020190915290205481145b15611a2057611a1d600183614e33565b91505b611a2b600182614e33565b905061195f565b50505092915050565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff1615808015611a865750600054600160ff909116105b80611aa75750611a9530612e7d565b158015611aa7575060005460ff166001145b611b0a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610aeb565b6000805460ff191660011790558015611b2d576000805461ff0019166101001790555b611c01846001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015611b6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b969190810190615301565b856001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015611bd4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bfc9190810190615301565b612e8c565b60da80546001600160a01b0319166001600160a01b038616179055611c258360d955565b600080600080876001600160a01b031663b280f7036040518163ffffffff1660e01b8152600401600060405180830381865afa158015611c69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c919190810190615335565b60408051608081018252858152602081018590529081018390526060810182905293975091955093509150600680611cc987826153d5565b5060208201516001820190611cde90826153d5565b5060408201516002820190611cf390826153d5565b5060608201516003820190611d0890826153d5565b50905050505050506000846001600160a01b031663acd083f86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d74919061548e565b90508060dc819055508060dd81905550600080866001600160a01b031663b24f2d396040518163ffffffff1660e01b81526004016040805180830381865afa158015611dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de89190614eee565b915091506000876001600160a01b031663079fe40e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5091906154a7565b90506001600160a01b03831615611e6f57611e6f838361ffff16612c21565b6001600160a01b03811615611e8757611e8781612cc7565b50505050611e9482612ebd565b611e9d85612843565b611ea8600086612b25565b611ed27f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a686612b25565b611eeb6000805160206159cd8339815191526000612b25565b611f036000805160206159ed83398151915286612b25565b611f1b6000805160206159ed83398151915280612f99565b8015611f61576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b611f70612837565b611f8d57604051639f7f092560e01b815260040160405180910390fd5b610bbf81612ebd565b6060607680546109be90614da0565b611fad612837565b611fca57604051636fae358160e11b815260040160405180910390fd5b610b8c838383612fe1565b611001338383613090565b6000828152600a6020908152604080832083805290915281205460ff1661202d57506000828152600a602090815260408083206001600160a01b038516845290915290205460ff166109a9565b50600192915050565b61203e613152565b61207b5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610aeb565b610bbf8161317e565b6060816001600160401b0381111561209e5761209e61499f565b6040519080825280602002602001820160405280156120d157816020015b60608152602001906001900390816120bc5790505b50905060005b8281101561216657612141308585848181106120f5576120f5614f24565b90506020028101906121079190614f8c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133a292505050565b82828151811061215357612153614f24565b60209081029190910101526001016120d7565b5092915050565b60068054819061217c90614da0565b80601f01602080910402602001604051908101604052809291908181526020018280546121a890614da0565b80156121f55780601f106121ca576101008083540402835291602001916121f5565b820191906000526020600020905b8154815290600101906020018083116121d857829003601f168201915b50505050509080600101805461220a90614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461223690614da0565b80156122835780601f1061225857610100808354040283529160200191612283565b820191906000526020600020905b81548152906001019060200180831161226657829003601f168201915b50505050509080600201805461229890614da0565b80601f01602080910402602001604051908101604052809291908181526020018280546122c490614da0565b80156123115780601f106122e657610100808354040283529160200191612311565b820191906000526020600020905b8154815290600101906020018083116122f457829003601f168201915b50505050509080600301805461232690614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461235290614da0565b801561239f5780601f106123745761010080835404028352916020019161239f565b820191906000526020600020905b81548152906001019060200180831161238257829003601f168201915b5050505050905084565b6123b33383612920565b6123cf5760405162461bcd60e51b8152600401610aeb90614e46565b6123db848484846133ce565b50505050565b600e54600d5460009182916123f69190614e33565b90505b600d5481111561244d57600f60006124126001846154c4565b815260200190815260200160002060000154421061243b576124356001826154c4565b91505090565b80612445816154d7565b9150506123f9565b506040516303d03c7360e61b815260040160405180910390fd5b606061247282613401565b1580156124995750600082815260db602052604090205460ff1680612499575060dd548210155b156124b75760405163623d7ce560e11b815260040160405180910390fd5b6109a98261341e565b6000818152600c6020526040812054815b81811015612524576000848152600c602090815260408083208484526001019091529020546001600160a01b0316156125125761250f600184614e33565b92505b61251d600182614e33565b90506124d1565b50612530836000611a3b565b1561254357612540600183614e33565b91505b50919050565b600083815260db602052604090205460ff161561257c57604051639eee288160e01b815260048101849052602401610aeb565b60da60009054906101000a90046001600160a01b03166001600160a01b0316633b1475a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f3919061548e565b831061261557604051634e369fbd60e11b815260048101849052602401610aeb565b61261d613696565b1561268257600061265b838361263260d95490565b8789604051602001610d4a92919091825260601b6001600160601b031916602082015260340190565b50905080612680578484604051630b860e6360e11b8152600401610aeb92919061483a565b505b600083815260db60205260409020805460ff191660011790556123db84846136b6565b6000828152600b60205260409020546110c89033612ade565b905090565b600180546126d090614da0565b80601f01602080910402602001604051908101604052809291908181526020018280546126fc90614da0565b80156127495780601f1061271e57610100808354040283529160200191612749565b820191906000526020600020905b81548152906001019060200180831161272c57829003601f168201915b505050505081565b6001600160a01b039182166000908152607a6020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806109a957506109a9826136c0565b6127ad81613401565b610bbf5760405162461bcd60e51b8152600401610aeb90614f3a565b600081815260796020526040902080546001600160a01b0319166001600160a01b03841690811790915581906127fe826112f7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006126be8133611a3b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b6000808281805b87811015612911576128af600283614e93565b915060008989838181106128c5576128c5614f24565b9050602002013590508084116128ea5760008481526020829052604090209350612908565b60008181526020859052604090209350612905600184614e33565b92505b5060010161289c565b50941496939550929350505050565b60008061292c836112f7565b9050806001600160a01b0316846001600160a01b0316148061295357506129538185612751565b806129775750836001600160a01b031661296c84610a50565b6001600160a01b0316145b949350505050565b826001600160a01b0316612992826112f7565b6001600160a01b0316146129b85760405162461bcd60e51b8152600401610aeb906154ee565b6001600160a01b038216612a1a5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610aeb565b612a278383836001613710565b826001600160a01b0316612a3a826112f7565b6001600160a01b031614612a605760405162461bcd60e51b8152600401610aeb906154ee565b600081815260796020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526078855283862080546000190190559087168086528386208054600101905586865260779094528285208054909216841790915590518493600080516020615a7483398151915291a4505050565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff1661100157808260405163043c588360e11b8152600401610aeb92919061483a565b612b2f82826137bf565b611001828261381a565b612b438282613887565b6000828152600c602090815260408083206001600160a01b03851680855260028201808552838620805487526001909301855292852080546001600160a01b031916905584529152555050565b6000612b9b826112f7565b9050612bab816000846001613710565b612bb4826112f7565b600083815260796020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552607884528285208054600019019055878552607790935281842080549091169055519293508492600080516020615a74833981519152908390a45050565b612710811115612c4a5761271081604051630a4930ad60e31b8152600401610aeb929190614d64565b600280546001600160a01b0384166001600160b01b03199091168117600160a01b61ffff851602179091556040518281527f90d7ec04bcb8978719414f82e52e4cb651db41d0e6f8cea6118c2191e6183adb9060200160405180910390a25050565b6000908152607760205260409020546001600160a01b031690565b6001600160a01b038116612cf05780604051630f7cac3760e21b8152600401610aeb91906146bd565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f299d17e95023f496e0ffc4909cff1a61f74bb5eb18de6f900f4155bfa1b3b33390600090a250565b60006126be6000805160206159ed83398151915233611a3b565b505050505050565b80600003612d8d573415612d8857600034604051630df7752360e41b8152600401610aeb929190614d64565b6123db565b6000612d998285614e93565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601612de957803414612de4578034604051630df7752360e41b8152600401610aeb929190614d64565b612e0d565b3415612e0d57600034604051630df7752360e41b8152600401610aeb929190614d64565b60006001600160a01b03861615612e245785612e2c565b612e2c610a41565b9050612d54843383856138e9565b60dc5460005b82811015612e7157612e52848361392a565b612e5d600183614e33565b9150612e6a600182614e33565b9050612e40565b5060dc81905592915050565b6001600160a01b03163b151590565b600054610100900460ff16612eb35760405162461bcd60e51b8152600401610aeb90615533565b6110018282613944565b600060018054612ecc90614da0565b80601f0160208091040260200160405190810160405280929190818152602001828054612ef890614da0565b8015612f455780601f10612f1a57610100808354040283529160200191612f45565b820191906000526020600020905b815481529060010190602001808311612f2857829003601f168201915b505050505090508160019081612f5b91906153d5565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051612f8d92919061557e565b60405180910390a15050565b6000828152600b6020526040808220805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61271081111561300a5761271081604051630a4930ad60e31b8152600401610aeb929190614d64565b6040805180820182526001600160a01b038481168083526020808401868152600089815260038352869020945185546001600160a01b031916941693909317845591516001909301929092559151838152909185917f7365cf4122f072a3365c20d54eff9b38d73c096c28e1892ec8f5b0e403a0f12d91015b60405180910390a3505050565b816001600160a01b0316836001600160a01b0316036130ed5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610aeb565b6001600160a01b038381166000818152607a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101613083565b60006126be7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633611a3b565b6040805160808101909152806131948380614f8c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020908101906131dd90840184614f8c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016132246040840184614f8c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200161326b6060840184614f8c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250805160069081906132b290826153d5565b50602082015160018201906132c790826153d5565b50604082015160028201906132dc90826153d5565b50606082015160038201906132f190826153d5565b509050507f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c6000600019604051613329929190614d64565b60405180910390a17f8edd7f36d5f01bd45e59cf55b0a670dcf701fc20f678970a8c243b2346d6acaf61335c8280614f8c565b6133696020850185614f8c565b6133766040870187614f8c565b6133836060890189614f8c565b6040516133979897969594939291906155ac565b60405180910390a150565b60606133c78383604051806060016040528060278152602001615a4d60279139613984565b9392505050565b6133d984848461297f565b6133e5848484846139fc565b6123db5760405162461bcd60e51b8152600401610aeb9061560c565b60008061340d83612cac565b6001600160a01b0316141592915050565b60606000600660405180608001604052908160008201805461343f90614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461346b90614da0565b80156134b85780601f1061348d576101008083540402835291602001916134b8565b820191906000526020600020905b81548152906001019060200180831161349b57829003601f168201915b505050505081526020016001820180546134d190614da0565b80601f01602080910402602001604051908101604052809291908181526020018280546134fd90614da0565b801561354a5780601f1061351f5761010080835404028352916020019161354a565b820191906000526020600020905b81548152906001019060200180831161352d57829003601f168201915b5050505050815260200160028201805461356390614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461358f90614da0565b80156135dc5780601f106135b1576101008083540402835291602001916135dc565b820191906000526020600020905b8154815290600101906020018083116135bf57829003601f168201915b505050505081526020016003820180546135f590614da0565b80601f016020809104026020016040519081016040528092919081815260200182805461362190614da0565b801561366e5780601f106136435761010080835404028352916020019161366e565b820191906000526020600020905b81548152906001019060200180831161365157829003601f168201915b5050505050815250509050612540816000015182602001518360400151846060015187613b04565b60006136b06000805160206159ed83398151915233611a3b565b15905090565b611001828261392a565b60006001600160e01b031982166380ac58cd60e01b14806136f157506001600160e01b03198216635b5e139f60e01b145b806109a957506301ffc9a760e01b6001600160e01b03198316146109a9565b61371c84848484613b39565b6137356000805160206159cd8339815191526000611a3b565b15801561374a57506001600160a01b03841615155b801561375e57506001600160a01b03831615155b156123db5761377b6000805160206159cd83398151915285611a3b565b15801561379d575061379b6000805160206159cd83398151915284611a3b565b155b156123db578383604051634a62089b60e11b8152600401610aeb929190614ed4565b6000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000828152600c60205260408120805491600191906138398385614e33565b90915550506000928352600c6020908152604080852083865260018101835281862080546001600160a01b039096166001600160a01b03199096168617905593855260029093019052912055565b6138918282612ade565b6000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b80156123db5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161391e57612d888282613c66565b6123db84848484613cde565b611001828260405180602001604052806000815250613d31565b600054610100900460ff1661396b5760405162461bcd60e51b8152600401610aeb90615533565b607561397783826153d5565b506076610b8c82826153d5565b6060600080856001600160a01b0316856040516139a1919061567a565b600060405180830381855af49150503d80600081146139dc576040519150601f19603f3d011682016040523d82523d6000602084013e6139e1565b606091505b50915091506139f286838387613d64565b9695505050505050565b6000613a10846001600160a01b0316612e7d565b15613af957604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613a4790339089908890889060040161568c565b6020604051808303816000875af1925050508015613a82575060408051601f3d908101601f19168201909252613a7f918101906156bf565b60015b613adf573d808015613ab0576040519150601f19603f3d011682016040523d82523d6000602084013e613ab5565b606091505b508051600003613ad75760405162461bcd60e51b8152600401610aeb9061560c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612977565b506001949350505050565b60606000613b128585613ddb565b90506000613b2288888487613e68565b9050613b2d81613eae565b98975050505050505050565b6001811115613ba85760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610aeb565b816001600160a01b038516613c0457613bff8160a98054600083815260aa60205260408120829055600182018355919091527fdc471888e6136f84c49e531e9c9240dc4e3fba66da9d3a49e2af6202133683e00155565b613c27565b836001600160a01b0316856001600160a01b031614613c2757613c278582613edf565b6001600160a01b038416613c4357613c3e81613f7c565b611f61565b846001600160a01b0316846001600160a01b031614611f6157611f61848261402b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613cb3576040519150601f19603f3d011682016040523d82523d6000602084013e613cb8565b606091505b5050905080610b8c578282604051635fdc4ec160e11b8152600401610aeb92919061483a565b816001600160a01b0316836001600160a01b031603156123db57306001600160a01b03841603613d1c57612d886001600160a01b038516838361406f565b6123db6001600160a01b0385168484846140c5565b613d3b83836140fd565b613d4860008484846139fc565b610b8c5760405162461bcd60e51b8152600401610aeb9061560c565b60608315613dd1578251600003613dca57613d7e85612e7d565b613dca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610aeb565b5081612977565b6129778383614206565b81518151606091158015911515908290613df25750805b15613e22578484604051602001613e0a9291906156dc565b604051602081830303815290604052925050506109a9565b8115613e395784604051602001613e0a9190615753565b8015613e505783604051602001613e0a9190615793565b50506040805160208101909152600081529392505050565b606084613e7483614230565b8585613e7f86614230565b89604051602001613e95969594939291906157db565b6040516020818303038152906040529050949350505050565b6060613eb982614330565b604051602001613ec991906158f1565b6040516020818303038152906040529050919050565b60006001613eec846114b6565b613ef691906154c4565b600083815260a86020526040902054909150808214613f49576001600160a01b038416600090815260a760209081526040808320858452825280832054848452818420819055835260a890915290208190555b50600091825260a8602090815260408084208490556001600160a01b03909416835260a781528383209183525290812055565b60a954600090613f8e906001906154c4565b600083815260aa602052604081205460a98054939450909284908110613fb657613fb6614f24565b906000526020600020015490508060a98381548110613fd757613fd7614f24565b600091825260208083209091019290925582815260aa909152604080822084905585825281205560a980548061400f5761400f615936565b6001900381819060005260206000200160009055905550505050565b6000614036836114b6565b6001600160a01b03909316600090815260a760209081526040808320868452825280832085905593825260a89052919091209190915550565b610b8c8363a9059cbb60e01b848460405160240161408e92919061483a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614482565b6040516001600160a01b03808516602483015283166044820152606481018290526123db9085906323b872dd60e01b9060840161408e565b6001600160a01b0382166141535760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610aeb565b61415c81613401565b156141795760405162461bcd60e51b8152600401610aeb9061594c565b614187600083836001613710565b61419081613401565b156141ad5760405162461bcd60e51b8152600401610aeb9061594c565b6001600160a01b038216600081815260786020908152604080832080546001019055848352607790915280822080546001600160a01b031916841790555183929190600080516020615a74833981519152908290a45050565b8151156142165781518083602001fd5b8060405162461bcd60e51b8152600401610aeb91906146aa565b6060816000036142575750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614281578061426b81615982565b915061427a9050600a83614ec0565b915061425b565b6000816001600160401b0381111561429b5761429b61499f565b6040519080825280601f01601f1916602001820160405280156142c5576020820181803683370190505b5090505b8415612977576142da6001836154c4565b91506142e7600a8661599b565b6142f2906030614e33565b60f81b81838151811061430757614307614f24565b60200101906001600160f81b031916908160001a905350614329600a86614ec0565b94506142c9565b6060815160000361434f57505060408051602081019091526000815290565b6000604051806060016040528060408152602001615a0d604091399050600060038451600261437e9190614e33565b6143889190614ec0565b614393906004614e93565b6001600160401b038111156143aa576143aa61499f565b6040519080825280601f01601f1916602001820160405280156143d4576020820181803683370190505b509050600182016020820185865187015b80821015614440576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f81168501518453506001830192506143e5565b505060038651066001811461445c576002811461446f57614477565b603d6001830353603d6002830353614477565b603d60018303535b509195945050505050565b60006144d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166145549092919063ffffffff16565b805190915015610b8c57808060200190518101906144f591906159af565b610b8c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610aeb565b6060612977848460008585600080866001600160a01b0316858760405161457b919061567a565b60006040518083038185875af1925050503d80600081146145b8576040519150601f19603f3d011682016040523d82523d6000602084013e6145bd565b606091505b50915091506145ce87838387613d64565b979650505050505050565b5080546145e590614da0565b6000825580601f106145f5575050565b601f016020900490600052602060002090810190610bbf91905b80821115614623576000815560010161460f565b5090565b6001600160e01b031981168114610bbf57600080fd5b60006020828403121561464f57600080fd5b81356133c781614627565b60005b8381101561467557818101518382015260200161465d565b50506000910152565b6000815180845261469681602086016020860161465a565b601f01601f19169290920160200192915050565b6020815260006133c7602083018461467e565b6001600160a01b0391909116815260200190565b6000602082840312156146e357600080fd5b5035919050565b6001600160a01b0381168114610bbf57600080fd5b6000806040838503121561471257600080fd5b823561471d816146ea565b946020939093013593505050565b60006020828403121561473d57600080fd5b81356133c7816146ea565b60006080828403121561254357600080fd5b60008060008060008060c0878903121561477357600080fd5b863595506020870135614785816146ea565b945060408701359350606087013561479c816146ea565b92506080870135915060a08701356001600160401b038111156147be57600080fd5b6147ca89828a01614748565b9150509295509295509295565b6000806000606084860312156147ec57600080fd5b83356147f7816146ea565b92506020840135614807816146ea565b929592945050506040919091013590565b6000806040838503121561482b57600080fd5b50508035926020909101359150565b6001600160a01b03929092168252602082015260400190565b6000806040838503121561486657600080fd5b823591506020830135614878816146ea565b809150509250929050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c082015260018060a01b0360c08301511660e0820152600060e083015161010080818501525061297761012084018261467e565b60008083601f84011261490257600080fd5b5081356001600160401b0381111561491957600080fd5b6020830191508360208260051b850101111561493457600080fd5b9250929050565b8015158114610bbf57600080fd5b60008060006040848603121561495e57600080fd5b83356001600160401b0381111561497457600080fd5b614980868287016148f0565b90945092505060208401356149948161493b565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156149dd576149dd61499f565b604052919050565b60006001600160401b038211156149fe576149fe61499f565b50601f01601f191660200190565b600082601f830112614a1d57600080fd5b8135614a30614a2b826149e5565b6149b5565b818152846020838601011115614a4557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215614a7b57600080fd5b8635614a86816146ea565b9550602087013594506040870135614a9d816146ea565b93506060870135925060808701356001600160401b0380821115614ac057600080fd5b614acc8a838b01614748565b935060a0890135915080821115614ae257600080fd5b506147ca89828a01614a0c565b60008060008060808587031215614b0557600080fd5b8435614b10816146ea565b93506020850135614b20816146ea565b92506040850135915060608501356001600160401b03811115614b4257600080fd5b614b4e87828801614a0c565b91505092959194509250565b600060208284031215614b6c57600080fd5b81356001600160401b03811115614b8257600080fd5b61297784828501614a0c565b600080600060608486031215614ba357600080fd5b833592506020840135614807816146ea565b60008060408385031215614bc857600080fd5b8235614bd3816146ea565b915060208301356148788161493b565b600060208284031215614bf557600080fd5b81356001600160401b03811115614c0b57600080fd5b61297784828501614748565b60008060208385031215614c2a57600080fd5b82356001600160401b03811115614c4057600080fd5b614c4c858286016148f0565b90969095509350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015614caf57603f19888603018452614c9d85835161467e565b94509285019290850190600101614c81565b5092979650505050505050565b608081526000614ccf608083018761467e565b8281036020840152614ce1818761467e565b90508281036040840152614cf5818661467e565b905082810360608401526145ce818561467e565b60008060008060608587031215614d1f57600080fd5b8435614d2a816146ea565b93506020850135925060408501356001600160401b03811115614d4c57600080fd5b614d58878288016148f0565b95989497509550505050565b918252602082015260400190565b60008060408385031215614d8557600080fd5b8235614d90816146ea565b91506020830135614878816146ea565b600181811c90821680614db457607f821691505b60208210810361254357634e487b7160e01b600052602260045260246000fd5b6000808335601e19843603018112614deb57600080fd5b8301803591506001600160401b03821115614e0557600080fd5b6020019150600581901b360382131561493457600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156109a9576109a9614e1d565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b80820281158282048414176109a9576109a9614e1d565b634e487b7160e01b600052601260045260246000fd5b600082614ecf57614ecf614eaa565b500490565b6001600160a01b0392831681529116602082015260400190565b60008060408385031215614f0157600080fd5b8251614f0c816146ea565b602084015190925061ffff8116811461487857600080fd5b634e487b7160e01b600052603260045260246000fd5b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b6000823560fe19833603018112614f8257600080fd5b9190910192915050565b6000808335601e19843603018112614fa357600080fd5b8301803591506001600160401b03821115614fbd57600080fd5b60200191503681900382131561493457600080fd5b601f821115610b8c576000816000526020600020601f850160051c81016020861015614ffb5750805b601f850160051c820191505b81811015612d5457828155600101615007565b600019600383901b1c191660019190911b1790565b6001600160401b038311156150465761504661499f565b61505a836150548354614da0565b83614fd2565b6000601f84116001811461508857600085156150765750838201355b615080868261501a565b845550611f61565b600083815260209020601f19861690835b828110156150b95786850135825560209485019460019092019101615099565b50868210156150d65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813581556020820135600182015560408201356002820155606082013560038201556080820135600482015560a082013560058201556006810160c0830135615130816146ea565b81546001600160a01b0319166001600160a01b039190911617905561515860e0830183614f8c565b6123db81836007860161502f565b6000808335601e1984360301811261517d57600080fd5b83016020810192503590506001600160401b0381111561519c57600080fd5b80360382131561493457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60408082528181018490526000906060808401600587901b850182018885805b8a8110156152a657888403605f190185528235368d900360fe19018112615219578283fd5b8c018035855260208082013581870152888201358987015287820135888701526080808301359087015260a080830135908701526101009060c080840135615260816146ea565b6001600160a01b03169088015260e061527b84820185615166565b945083828a015261528f848a0186836151ab565b9983019998505050949094019350506001016151f4565b5050508615156020870152935061297792505050565b600082601f8301126152cd57600080fd5b81516152db614a2b826149e5565b8181528460208386010111156152f057600080fd5b61297782602083016020870161465a565b60006020828403121561531357600080fd5b81516001600160401b0381111561532957600080fd5b612977848285016152bc565b6000806000806080858703121561534b57600080fd5b84516001600160401b038082111561536257600080fd5b61536e888389016152bc565b9550602087015191508082111561538457600080fd5b615390888389016152bc565b945060408701519150808211156153a657600080fd5b6153b2888389016152bc565b935060608701519150808211156153c857600080fd5b50614b4e878288016152bc565b81516001600160401b038111156153ee576153ee61499f565b615402816153fc8454614da0565b84614fd2565b602080601f831160018114615431576000841561541f5750858301515b615429858261501a565b865550612d54565b600085815260208120601f198616915b8281101561546057888601518255948401946001909101908401615441565b508582101561547e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156154a057600080fd5b5051919050565b6000602082840312156154b957600080fd5b81516133c7816146ea565b818103818111156109a9576109a9614e1d565b6000816154e6576154e6614e1d565b506000190190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b604081526000615591604083018561467e565b82810360208401526155a3818561467e565b95945050505050565b6080815260006155c0608083018a8c6151ab565b82810360208401526155d381898b6151ab565b905082810360408401526155e88187896151ab565b905082810360608401526155fd8185876151ab565b9b9a5050505050505050505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000815161567081856020860161465a565b9290920192915050565b60008251614f8281846020870161465a565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906139f29083018461467e565b6000602082840312156156d157600080fd5b81516133c781614627565b6834b6b0b3b2911d101160b91b8152825160009061570181600985016020880161465a565b741116101130b734b6b0ba34b7b72fbab936111d101160591b600991840191820152835161573681601e84016020880161465a565b631116101160e11b601e9290910191820152602201949350505050565b6834b6b0b3b2911d101160b91b8152815160009061577881600985016020870161465a565b631116101160e11b6009939091019283015250600d01919050565b7030b734b6b0ba34b7b72fbab936111d101160791b815281516000906157c081601185016020870161465a565b631116101160e11b6011939091019283015250601501919050565b693d913730b6b2911d101160b11b8152865160009061580181600a850160208c0161465a565b600160fd1b600a91840191820152875161582281600b840160208c0161465a565b631116101160e11b600b929091019182018190526e3232b9b1b934b83a34b7b7111d101160891b600f830152875161586181601e850160208c0161465a565b601e920191820152855161587c816022840160208a0161465a565b770383937b832b93a34b2b9911d103d91373ab6b132b9111d160451b602292909101918201526158e46158d56158cf6158b8603a85018961565e565b6a1610113730b6b2911d101160a91b8152600b0190565b8661565e565b62227d7d60e81b815260030190565b9998505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161592981601d85016020870161465a565b91909101601d0192915050565b634e487b7160e01b600052603160045260246000fd5b6020808252601c908201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b604082015260600190565b60006001820161599457615994614e1d565b5060010190565b6000826159aa576159aa614eaa565b500690565b6000602082840312156159c157600080fd5b81516133c78161493b56fe8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c9d7b1cf62e8376e2ef102e20d4e487b829ff44d58ddb1f416ee01cf2ed26829e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209da70aea2596518fa75a14d55a75af78f0863e6727a84cec148efcf97e07b3c264736f6c63430008170033