[ { "inputs": [ { "internalType": "uint256", "name": "_minGasToTransfer", "type": "uint256" }, { "internalType": "address", "name": "_lzEndpoint", "type": "address" }, { "internalType": "uint256", "name": "_startMintId", "type": "uint256" }, { "internalType": "uint256", "name": "_endMintId", "type": "uint256" }, { "internalType": "uint256", "name": "_mintFee", "type": "uint256" }, { "internalType": "uint256", "name": "_bridgeFee", "type": "uint256" }, { "internalType": "address", "name": "_feeCollector", "type": "address" }, { "internalType": "uint256", "name": "_referralEarningBips", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "errorCode", "type": "uint256" } ], "name": "GetMintONFT721_CoreError", "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": "oldBridgeFee", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "newBridgeFee", "type": "uint256" } ], "name": "BridgeFeeChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "uint16", "name": "dstChainId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BridgeFeeEarned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "_hashedPayload", "type": "bytes32" } ], "name": "CreditCleared", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "_hashedPayload", "type": "bytes32" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "CreditStored", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "referrer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "newEraningBips", "type": "uint256" } ], "name": "EarningBipsForReferrerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address[]", "name": "referrers", "type": "address[]" }, { "indexed": false, "internalType": "uint256", "name": "newEraningBips", "type": "uint256" } ], "name": "EarningBipsForReferrersChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldFeeCollector", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newFeeCollector", "type": "address" } ], "name": "FeeCollectorChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "collector", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "claimedAmount", "type": "uint256" } ], "name": "FeeEarningsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "_reason", "type": "bytes" } ], "name": "MessageFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "oldMintFee", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "newMintFee", "type": "uint256" } ], "name": "MintFeeChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "itemId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "feeEarnings", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "referrer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "referrerEarnings", "type": "uint256" } ], "name": "ONFTMinted", "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": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": true, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": true, "internalType": "address", "name": "_toAddress", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } ], "name": "ReceiveFromChain", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "oldReferralEarningBips", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "newReferralEarningBips", "type": "uint256" } ], "name": "ReferralEarningBipsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "referrer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "claimedAmount", "type": "uint256" } ], "name": "ReferrerEarningsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "_payloadHash", "type": "bytes32" } ], "name": "RetryMessageSuccess", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } ], "name": "SendToChain", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "_dstChainIdToBatchLimit", "type": "uint256" } ], "name": "SetDstChainIdToBatchLimit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "_dstChainIdToTransferGas", "type": "uint256" } ], "name": "SetDstChainIdToTransferGas", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "indexed": false, "internalType": "uint16", "name": "_type", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "_minDstGas", "type": "uint256" } ], "name": "SetMinDstGas", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_minGasToTransferAndStore", "type": "uint256" } ], "name": "SetMinGasToTransferAndStore", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "precrime", "type": "address" } ], "name": "SetPrecrime", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_path", "type": "bytes" } ], "name": "SetTrustedRemote", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_remoteAddress", "type": "bytes" } ], "name": "SetTrustedRemoteAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "oldTokenURI", "type": "string" }, { "indexed": true, "internalType": "string", "name": "newTokenURI", "type": "string" }, { "indexed": false, "internalType": "string", "name": "fileExtension", "type": "string" } ], "name": "TokenURIChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "newState", "type": "bool" } ], "name": "TokenURILocked", "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_PAYLOAD_SIZE_LIMIT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DENOMINATOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_INVALID_COLLECTOR_ADDRESS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_INVALID_REFERER", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_INVALID_TOKEN_ID", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_INVALID_URI_LOCK_STATE", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_MINT_EXCEEDS_LIMIT", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_MINT_INVALID_FEE", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_NOTHING_TO_CLAIM", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_NOT_FEE_COLLECTOR", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ERROR_REFERRAL_BIPS_TOO_HIGH", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FIFTY_PERCENT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FUNCTION_TYPE_SEND", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ONE_HUNDRED_PERCENT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridgeFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimFeeEarnings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimReferrerEarnings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "clearCredits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "dstChainIdToBatchLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "dstChainIdToTransferGas", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, { "internalType": "bool", "name": "_useZro", "type": "bool" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "estimateSendBatchFee", "outputs": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "zroFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "bool", "name": "_useZro", "type": "bool" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "estimateSendFee", "outputs": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "zroFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "failedMessages", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeClaimedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeCollector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeEarnedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "forceResumeReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" }, { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_configType", "type": "uint256" } ], "name": "getConfig", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" } ], "name": "getTrustedRemoteAddress", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "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": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "isTrustedRemote", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lzEndpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpoint", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxMintId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "minDstGasLookup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minGasToTransferAndStore", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "referrer", "type": "address" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "nonblockingLzReceive", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "payloadSizeLimitLookup", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "precrime", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "referralEarningBips", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referredTransactionsCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referrersClaimedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referrersEarnedAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "referrersEarningBips", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "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": "_from", "type": "address" }, { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, { "internalType": "address payable", "name": "_refundAddress", "type": "address" }, { "internalType": "address", "name": "_zroPaymentAddress", "type": "address" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "sendBatchFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_toAddress", "type": "bytes" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "address payable", "name": "_refundAddress", "type": "address" }, { "internalType": "address", "name": "_zroPaymentAddress", "type": "address" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "sendFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_bridgeFee", "type": "uint256" } ], "name": "setBridgeFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" }, { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "_configType", "type": "uint256" }, { "internalType": "bytes", "name": "_config", "type": "bytes" } ], "name": "setConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "uint256", "name": "_dstChainIdToBatchLimit", "type": "uint256" } ], "name": "setDstChainIdToBatchLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "uint256", "name": "_dstChainIdToTransferGas", "type": "uint256" } ], "name": "setDstChainIdToTransferGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "referrer", "type": "address" }, { "internalType": "uint256", "name": "earningBips", "type": "uint256" } ], "name": "setEarningBipsForReferrer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "referrers", "type": "address[]" }, { "internalType": "uint256", "name": "earningBips", "type": "uint256" } ], "name": "setEarningBipsForReferrersBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_feeCollector", "type": "address" } ], "name": "setFeeCollector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "uint16", "name": "_packetType", "type": "uint16" }, { "internalType": "uint256", "name": "_minGas", "type": "uint256" } ], "name": "setMinDstGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minGasToTransferAndStore", "type": "uint256" } ], "name": "setMinGasToTransferAndStore", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintFee", "type": "uint256" } ], "name": "setMintFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "uint256", "name": "_size", "type": "uint256" } ], "name": "setPayloadSizeLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_precrime", "type": "address" } ], "name": "setPrecrime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" } ], "name": "setReceiveVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_referralEarninBips", "type": "uint256" } ], "name": "setReferralEarningBips", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" } ], "name": "setSendVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newTokenBaseURI", "type": "string" }, { "internalType": "string", "name": "_fileExtension", "type": "string" } ], "name": "setTokenBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "locked", "type": "bool" } ], "name": "setTokenBaseURILocked", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_path", "type": "bytes" } ], "name": "setTrustedRemote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_remoteChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_remoteAddress", "type": "bytes" } ], "name": "setTrustedRemoteAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startMintId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "storedCredits", "outputs": [ { "internalType": "uint16", "name": "srcChainId", "type": "uint16" }, { "internalType": "address", "name": "toAddress", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" }, { "internalType": "bool", "name": "creditsRemain", "type": "bool" } ], "stateMutability": "view", "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": [], "name": "tokenBaseURILocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenCounter", "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedRemoteLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" } ]
60e034620005d057601f1962005f2338819003601f8181018416850194939290916001600160401b039185871083881117620005d557816101009287926040998a52833981010312620005d0578490845193602095620000618782016200060b565b96848201519760608301519260808101519460a08201519660e06200008960c085016200060b565b9301519a62000097620005eb565b600b81526a11d95d135a5b9d13d3919560aa1b87820152620000b8620005eb565b600381526247544d60e81b8882015260008054336001600160a01b0319808316821784559e516001600160a01b039a9096939593928b929083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a3166080526001948560065581156200058257506007558051908582116200056e57600b548581811c9116801562000563575b8b8210146200054f578f90918282859411620004f9575b508b9183116001146200049457859262000488575b5050600019600383901b1c191690841b17600b555b80519384116200047457600c548381811c9116801562000469575b8982101462000455578d81116200040b575b5087918d8511600114620003a75793945084929190836200039b575b50501b916000199060031b1c191617600c555b838a101562000362576000198410156200031e5716958615620002da576113888811620002985750508660a05260c0526016556017556018541617601855601b556015555161590290816200062182396080518181816106b401528181610aa801528181610d78015281816114f20152818161294a01528181612e670152818161374401528181614e3f015261518c015260a051816113c2015260c051818181610dfa01528181611b1601526133160152f35b6064925089519162461bcd60e51b8352600483015260248201527f496e76616c696420726566657272616c206561726e696e6720736861726573006044820152fd5b895162461bcd60e51b815260048101839052601d60248201527f496e76616c69642066656520636f6c6c6563746f7220616464726573730000006044820152606490fd5b8a5162461bcd60e51b815260048101849052601560248201527f496e636f7272656374206d6178206d696e7420494400000000000000000000006044820152606490fd5b8a5162461bcd60e51b8152600481018490526012602482015271496e76616c6964206d696e742072616e676560701b6044820152606490fd5b015192503880620001d2565b929484908116600c8552898520945b8a88838310620003f35750505010620003d9575b505050811b01600c55620001e5565b015160001960f88460031b161c19169055388080620003ca565b868601518855909601959485019487935001620003b6565b600c83528d8984209080870160051c8201928b88106200044b575b0160051c019084905b8281106200043f575050620001b6565b8481550184906200042f565b9250819262000426565b634e487b7160e01b83526022600452602483fd5b90607f1690620001a4565b634e487b7160e01b82526041600452602482fd5b01519050388062000174565b908887941691600b87528c8720928d88905b828210620004e15750508411620004c7575b505050811b01600b5562000189565b015160001960f88460031b161c19169055388080620004b8565b8385015186558a979095019493840193018e620004a6565b600b87528c872091935091600590858101821c83018e871062000547575b91898796949295935b868501831c840181106200053857505050506200015f565b8a81558897508b910162000520565b508262000517565b634e487b7160e01b85526022600452602485fd5b90607f169062000148565b634e487b7160e01b84526041600452602484fd5b62461bcd60e51b8152600481018b90526024808201527f6d696e476173546f5472616e73666572416e6453746f7265206d7573742062656044820152630203e20360e41b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620005d557604052565b51906001600160a01b0382168203620005d05756fe6080604052600436101561001257600080fd5b60003560e01c80621d3567146105c757806301ffc9a7146105c25780630297fdb1146105bd57806306fdde03146105b857806307e0db17146105b3578063081812fc146105ae578063095ea7b3146105a95780630a7638d1146105a45780630b4cad4c1461059f5780630df374831461059a57806310ddb137146105955780631249c58b1461059057806313966db51461058b57806318160ddd146105865780631e04cbf3146105815780631e83617e1461057c5780631ed9a2d0146105775780631f9850781461057257806322a3ecf91461056d57806323b872dd146105685780632a205e3d146105635780632f745c591461055e57806336ecd177146105595780633d8b38f6146105545780633f1f4fa41461054f57806342842e0e1461054a57806342d65a8d1461054557806348288190146105405780634ac3f4ff1461053b5780634f6ccce7146105365780635190563614610531578063531fadbc1461052c5780635b8c41e6146105275780636190a9581461052257806362c9cd581461051d5780636352211e1461051857806366ad5c8a146105135780636798a98e1461050e5780636a6278421461050957806370a0823114610504578063715018a6146104ff5780637533d788146104fa57806382b12dd7146104f5578063833508a7146104f057806389852715146104eb5780638cfd8f5c146104e65780638da5cb5b146104e15780638fda89aa146104dc5780638ffa1f2a146104d757806390df2ecb146104d2578063918f867414610455578063950c8a74146104cd57806395d89b41146104c8578063998cdf83146104c35780639ae00883146104be5780639ea5d6b1146104b95780639f38369a146104b4578063a22cb465146104af578063a42dce80146104aa578063a6c3d165146104a5578063ab3ffb93146104a0578063af3fb21c14610482578063b353aaa71461049b578063b88d4fde14610496578063baf3292d14610491578063c2690cb61461048c578063c415b95c14610487578063c446183414610455578063c6f0995614610482578063c74046f91461047d578063c87b56dd14610478578063cbc1418a14610473578063cbed8b9c1461046e578063cf836dc314610469578063d082e38114610464578063d12473a51461045f578063d1deba1f1461045a578063dd0081c714610455578063df2a5b3b14610450578063df329fc11461044b578063e0381d7d14610446578063e1d4c87014610441578063e985e9c51461043c578063e9c9637914610437578063ea0d9e1814610432578063eb56c4851461042d578063eb8d72b714610428578063eddd0d9c14610423578063f23536411461041e578063f2fde38b14610419578063f5ecbdbc146104145763fa25f9b61461040f57600080fd5b6137ae565b6136e2565b61361b565b61358d565b613543565b6133f9565b6133db565b6133bd565b6133a1565b613339565b6132fe565b6132e0565b613263565b61317e565b612241565b61302b565b612f5a565b612f3c565b612eff565b612e1b565b612c6d565b612ac1565b612aa5565b612918565b612a7c565b612a3f565b6129cf565b612979565b612934565b612883565b61268b565b6125f9565b612508565b612469565b612394565b612378565b61232e565b612287565b61225e565b612225565b61202e565b611fc1565b611f98565b611f45565b611f22565b611f06565b611ee8565b611e95565b611cbd565b611c8e565b611aea565b6119d1565b611847565b611829565b6117d1565b6117b5565b611713565b6116e0565b611657565b6115ac565b611577565b611559565b6114d8565b6114b0565b61147b565b61141f565b6113aa565b6112f3565b6111d2565b61106f565b610fe5565b610fa8565b610f8c565b610ee8565b610ecb565b610ead565b610e8f565b610dd9565b610d53565b610d18565b610c74565b610c37565b610b5f565b610b1e565b610a83565b6109a5565b6108a8565b6107c5565b61069d565b6004359061ffff821682036105dd57565b600080fd5b6024359061ffff821682036105dd57565b9181601f840112156105dd578235916001600160401b0383116105dd57602083818601950101116105dd57565b604435906001600160401b03821682036105dd57565b9060806003198301126105dd5760043561ffff811681036105dd57916001600160401b03906024358281116105dd5781610672916004016105f3565b9390939260443581811681036105dd57926064359182116105dd57610699916004016105f3565b9091565b346105dd576106ab36610636565b929493919291907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361076e576107316107399261073f9761072a61071061070b8a61ffff166000526001602052604060002090565b611e7a565b8051908184149182610764575b5081610741575b50613f40565b3691611162565b923691611162565b92614166565b005b905061074e368486611162565b6020815191012090602081519101201438610724565b151591503861071d565b60405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c657200006044820152606490fd5b6001600160e01b03198116036105dd57565b346105dd5760203660031901126105dd5761080f6004356107e5816107b3565b6001600160e01b03191680159081159081610813575b505060405190151581529081906020820190565b0390f35b63780e9d6360e01b811492831561082f575b50505038806107fb565b925090610840575b50388080610825565b6380ac58cd60e01b81149150811561088c575b8115610861575b5038610837565b6322bac5d960e01b81149150811561087b575b503861085a565b6301ffc9a760e01b14905038610874565b635b5e139f60e01b81149150610853565b60009103126105dd57565b346105dd5760008060031936011261094657338152601e60205260408120546108d28115156157ad565b338252601e602052816040812055601f6020526040822080549082820180921161094157556109108280808085335af161090a613dfd565b506154d9565b60405190815233907fa6183a81b1ce4e0d90156f6ec9b6f2d13c204d11884302b40b47bb456fb5915690602090a280f35b614134565b80fd5b60005b83811061095c5750506000910152565b818101518382015260200161094c565b9060209161098581518092818552858086019101610949565b601f01601f1916010190565b9060206109a292818152019061096c565b90565b346105dd57600080600319360112610946576040519080600b546109c881611d18565b80855291600191808316908115610a5957506001146109fe575b61080f856109f281870382611117565b60405191829182610991565b9250600b83527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b828410610a415750505081016020016109f28261080f6109e2565b80546020858701810191909152909301928101610a26565b86955061080f969350602092506109f294915060ff191682840152151560051b82010192936109e2565b346105dd576000602036600319011261094657610a9e6105cc565b610aa66137e3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908290823b15610b1a57602461ffff918360405195869485936307e0db1760e01b85521660048401525af18015610b1557610b09575080f35b610b12906110ae565b80f35b613df1565b5080fd5b346105dd5760203660031901126105dd576020610b3c600435613993565b6040516001600160a01b039091168152f35b6001600160a01b038116036105dd57565b346105dd5760403660031901126105dd57600435610b7c81610b4e565b602435610b88816138fe565b916001600160a01b038084169082168114610be85761073f93610bb5913314908115610bba575b50613921565b613d1c565b6001600160a01b0316600090815260106020908152604080832033845290915290205460ff16905038610baf565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b346105dd5760203660031901126105dd57600435610c5481610b4e565b60018060a01b0316600052601d6020526020604060002054604051908152f35b346105dd5760203660031901126105dd57600435610c906137e3565b8015610cc7576020817ffebbc4f8bb9ec2313950c718d43123124b15778efda4c1f1d529de2995b4f34d92600755604051908152a1005b60405162461bcd60e51b8152602060048201526024808201527f6d696e476173546f5472616e73666572416e6453746f7265206d7573742062656044820152630203e20360e41b6064820152608490fd5b346105dd5760403660031901126105dd5761ffff610d346105cc565b610d3c6137e3565b166000526003602052602435604060002055600080f35b346105dd576000602036600319011261094657610d6e6105cc565b610d766137e3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908290823b15610b1a57602461ffff918360405195869485936310ddb13760e01b85521660048401525af18015610b1557610b09575080f35b60008060031936011261094657610dee61466a565b60155460165490610e207f000000000000000000000000000000000000000000000000000000000000000082106157cd565b610e2c823410156157ed565b610e35816146d9565b60155560195491808301809311610941578392601955610e55823361487c565b6040519081528260208201527faf10eb5876c114d027970b3131ea6479da41c88b7d3ba0d093aea9a4126444eb60403392a4600160065580f35b346105dd5760003660031901126105dd576020601654604051908152f35b346105dd5760003660031901126105dd576020601354604051908152f35b346105dd5760003660031901126105dd5760206040516113888152f35b346105dd57600080600319360112610946576018546001600160a01b0390610f13908216331461580d565b610f1b61466a565b60195490610f2a8215156157ad565b82601955601a54828101809111610941577f582c87414358df39212a275853c71633d2dc65d15ae92cc5718e7438766bea7691602091601a556018541692610f7b8580808085895af161090a613dfd565b604051908152a2610b126001600655565b346105dd5760003660031901126105dd57602060405160068152f35b346105dd5760203660031901126105dd57600435610fc581610b4e565b60018060a01b0316600052601e6020526020604060002054604051908152f35b346105dd5760203660031901126105dd57600435600052600a6020526080604060002080549060ff6002600183015492015416906040519261ffff8116845260018060a01b039060101c166020840152604083015215156060820152f35b60609060031901126105dd5760043561105b81610b4e565b9060243561106881610b4e565b9060443590565b346105dd5761073f61108036611043565b9161109361108e8433613ad6565b6139d1565b613ba8565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116110c157604052565b611098565b608081019081106001600160401b038211176110c157604052565b602081019081106001600160401b038211176110c157604052565b60c081019081106001600160401b038211176110c157604052565b90601f801991011681019081106001600160401b038211176110c157604052565b60405190611145826110c6565b565b6001600160401b0381116110c157601f01601f191660200190565b92919261116e82611147565b9161117c6040519384611117565b8294818452818301116105dd578281602093846000960137010152565b9080601f830112156105dd578160206109a293359101611162565b6064359081151582036105dd57565b6024359081151582036105dd57565b346105dd5760031960a0368201126105dd576111ec6105cc565b906001600160401b03906024358281116105dd5761120e903690600401611199565b926112176111b4565b926084359081116105dd5760409361ffff9361123a61129a933690600401611199565b90611284611249604435614d8c565b61127489519a8b998a9963f235364160e01b8b521660048a015260a060248a015260a489019061096c565b90838883030160448901526144b9565b921515606486015284830301608485015261096c565b0381305afa908115610b155760009081926112c2575b50604080519182526020820192909252f35b90506112e5915060403d81116112ec575b6112dd8183611117565b810190614d76565b90386112b0565b503d6112d3565b346105dd5760403660031901126105dd5760043561131081610b4e565b6024359061131d8161383b565b821015611351576001600160a01b031660009081526011602090815260408083209383529281529082902054915191825290f35b60405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608490fd5b346105dd5760003660031901126105dd5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b9060406003198301126105dd5760043561ffff811681036105dd5791602435906001600160401b0382116105dd57610699916004016105f3565b346105dd57602061ffff61146c611435366113e5565b939091166000526001845261145761145e604060002060405192838092611de4565b0382611117565b848151910120923691611162565b82815191012014604051908152f35b346105dd5760203660031901126105dd5761ffff6114976105cc565b1660005260036020526020604060002054604051908152f35b346105dd5761073f6114c136611043565b90604051926114cf846110e1565b60008452613a33565b346105dd576114e6366113e5565b91906114f06137e3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b156105dd57604051928380926342d65a8d60e01b8252816115476000988997889460048501614023565b03925af18015610b1557610b09575080f35b346105dd5760003660031901126105dd576020600754604051908152f35b346105dd5760203660031901126105dd5761ffff6115936105cc565b1660005260086020526020604060002054604051908152f35b346105dd5760203660031901126105dd576004356013548110156115fd5760136000527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900154604051908152602090f35b60405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608490fd5b60e03660031901126105dd5760043561166f81610b4e565b6116776105e2565b6001600160401b03916044358381116105dd57611698903690600401611199565b90608435906116a682610b4e565b60a435926116b384610b4e565b60c4359586116105dd576116ce61073f963690600401611199565b946116da606435614d8c565b92614ed3565b346105dd5760003660031901126105dd57602060405160028152f35b9061170f60209282815194859201610949565b0190565b346105dd5760603660031901126105dd5761172c6105cc565b6024356001600160401b0381116105dd5761080f9161178360206117576117a4943690600401611199565b61ffff611762610620565b94166000526005825260406000208260405194838680955193849201610949565b820190815203019020906001600160401b0316600052602052604060002090565b546040519081529081906020820190565b346105dd5760003660031901126105dd57602060405160048152f35b346105dd5760203660031901126105dd576004356117ed6137e3565b6117fb61138882111561582d565b601b5481601b557f5520877bcd003e98f39712fa0194b5172c7c1a2f2ec8a1a9deb2b5a79c2525e8600080a3005b346105dd5760203660031901126105dd576020610b3c6004356138fe565b346105dd5761185536610636565b93915030330361197d576118d46118a061ffff926118987f5b821db8a46f8ecbe1941ba2f51cfeea9643268b56631f70d45e2a745d990265956014973691611162565b963691611162565b9485516118b560208089019289010182614389565b960151966118c387896146e8565b875181106118f4575b505050614499565b936118ef60405192839260018060a01b0316971694826144ed565b0390a4005b6119637f10e0b70d256bccc84b7027506978bd8b68984a870788b93b479def144c839ad7938351902091611926611138565b61ffff8d168152906001600160a01b038c1660208301525b60408201526001606082015261195e83600052600a602052604060002090565b61441f565b61197260405192839283614482565b0390a13880806118cc565b60405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d7573742062656044820152650204c7a4170760d41b6064820152608490fd5b346105dd576040806003193601126105dd576001600160401b036004358181116105dd57366023820112156105dd5780600401359182116105dd57602490600592368382861b840101116105dd57823593611a2a6137e3565b611a3861271086111561582d565b60005b828110611ab25750508451928392019060005b818110611a8757848403852087518781527f534f5101174d9c5177797e870102d53e013a9d6b33436ea06de20371c65078e890602090a2005b9091926001908435611a9881610b4e565b828060a01b03168152602080910194019101919091611a4e565b8085611ae592841b86010135611ac781610b4e565b6001600160a01b03166000908152601c6020528890208790556146d9565b611a3b565b60203660031901126105dd57600435611b0281610b4e565b611b0a61466a565b60155460165491611b3c7f000000000000000000000000000000000000000000000000000000000000000083106157cd565b611b48833410156157ed565b6001600160a01b038116927faf10eb5876c114d027970b3131ea6479da41c88b7d3ba0d093aea9a4126444eb90611c66903386141580611c85575b611b8c9061584d565b611b9d611b98866146d9565b601555565b6001600160a01b0384166000908152601c602052604090205480611c735750611c23611be1611bda611bd2601b545b85614d63565b612710900490565b8093614159565b6001600160a01b0386166000908152601e60205260409020909590611c07848254614a05565b90556001600160a01b03166000908152601d6020526040902090565b611c2d81546146d9565b9055611c43611c3e85601954614a05565b601955565b611c4d853361487c565b6040805194855260208501919091523393918291820190565b0390a461073f6001600655565b611be1611bda611bd2611c2393611bcc565b50851515611b83565b346105dd5760203660031901126105dd576020611cb5600435611cb081610b4e565b61383b565b604051908152f35b346105dd5760008060031936011261094657611cd76137e3565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b90600182811c92168015611d48575b6020831014611d3257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611d27565b60215460009291611d6282611d18565b80825291600190818116908115611dc75750600114611d8057505050565b9192935060216000526000805160206158ad833981519152916000925b848410611daf57505060209250010190565b80546020858501810191909152909301928101611d9d565b915050602093945060ff929192191683830152151560051b010190565b9060009291805491611df583611d18565b918282526001938481169081600014611e575750600114611e17575b50505050565b90919394506000526020928360002092846000945b838610611e43575050505001019038808080611e11565b805485870183015294019385908201611e2c565b9294505050602093945060ff191683830152151560051b01019038808080611e11565b90611145611e8e9260405193848092611de4565b0383611117565b346105dd5760203660031901126105dd5761ffff611eb16105cc565b16600052600160205261080f611457611ed4604060002060405192838092611de4565b60405191829160208352602083019061096c565b346105dd5760003660031901126105dd576020601754604051908152f35b346105dd5760003660031901126105dd57602060405160098152f35b346105dd5760003660031901126105dd57602060ff602254166040519015158152f35b346105dd5760403660031901126105dd576020611f8f611f636105cc565b61ffff611f6e6105e2565b91166000526002835260406000209061ffff16600052602052604060002090565b54604051908152f35b346105dd5760003660031901126105dd576000546040516001600160a01b039091168152602090f35b346105dd5760203660031901126105dd576004358015158091036105dd57611fe76137e3565b602254611ffb8260ff83161515141561586d565b60ff191660ff8216176022557f86f6d3aac457fe4bb989f97e01063ec20dc5442373c5c9a0617a07c7b5362f6b600080a2005b346105dd5760203660031901126105dd576004356001600160401b0381116105dd5761205e903690600401611199565b61206661466a565b6120a7815160208084019182209361209d612098600261209088600052600a602052604060002090565b015460ff1690565b6145cc565b8051010190614389565b90506120bd82600052600a602052604060002090565b50612107816120e96120d985600052600a602052604060002090565b5460101c6001600160a01b031690565b60016120ff86600052600a602052604060002090565b0154906147b8565b9061212a600161212185600052600a602052604060002090565b0154831161460c565b51810361219e57506121908161218061216e7fd7be02b8dd0d27bd0517a9cb4d7469ce27df4313821ae5ec1ff69acc594ba23394600052600a602052604060002090565b60026000918281558260018201550155565b6040519081529081906020820190565b0390a15b61073f6001600655565b61195e826121c46121bc61222095600052600a602052604060002090565b5461ffff1690565b926122046121df6120d984600052600a602052604060002090565b6121f46121ea611138565b61ffff9097168752565b6001600160a01b03166020860152565b604084015260016060840152600052600a602052604060002090565b612194565b346105dd5760003660031901126105dd57602060405160088152f35b346105dd5760003660031901126105dd5760206040516127108152f35b346105dd5760003660031901126105dd576004546040516001600160a01b039091168152602090f35b346105dd57600080600319360112610946576040519080600c546122aa81611d18565b80855291600191808316908115610a5957506001146122d35761080f856109f281870382611117565b9250600c83527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b8284106123165750505081016020016109f28261080f6109e2565b805460208587018101919091529093019281016122fb565b346105dd5760203660031901126105dd5760043561234a6137e3565b601754816017557ff87f51c5c0d01564ccf3da315f76df881b0309297d68dde4303ab79a0f1b84cf600080a3005b346105dd5760003660031901126105dd57602060405160038152f35b346105dd5760403660031901126105dd576123ad6105cc565b6024356123b86137e3565b8015612419578161ffff7f7315f7654d594ead24a30160ed9ba2d23247f543016b918343591e93d7afdb6d9316600052600860205281604060002055612414604051928392836020909392919361ffff60408201951681520152565b0390a1005b60405162461bcd60e51b815260206004820152602260248201527f647374436861696e4964546f42617463684c696d6974206d757374206265203e604482015261020360f41b6064820152608490fd5b346105dd5760203660031901126105dd5761ffff6124856105cc565b1660005260016020526114576124a5604060002060405192838092611de4565b8051156124c3576109f2816124bd61080f935161414a565b90614a8f565b60405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f72640000006044820152606490fd5b346105dd5760403660031901126105dd5760043561252581610b4e565b61252d6111c3565b6001600160a01b038216913383146125b4578161256c61257d9233600052601060205260406000209060018060a01b0316600052602052604060002090565b9060ff801983541691151516179055565b604051901515815233907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319080602081015b0390a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b346105dd5760203660031901126105dd5760043561261681610b4e565b61261e6137e3565b6001600160a01b0390811690811561267257601854826bffffffffffffffffffffffff60a01b821617601855167f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0600080a3005b6040516302a9557160e61b815260056004820152602490fd5b346105dd57612699366113e5565b906126a26137e3565b604051926020928083858701376126ce6034868381013060601b88820152036014810188520186611117565b60009361ffff8316855260019081815260408620918751916001600160401b0383116110c157612708836127028654611d18565b866140fa565b80601f84116001146127785750918080926127679695948a9b7f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce9b9461276d575b50501b916000199060031b1c19161790555b60405193849384614023565b0390a180f35b015192503880612749565b91939498601f19841661279087600052602060002090565b938a905b8282106127f7575050917f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce999a95939185612767989694106127de575b505050811b01905561275b565b015160001960f88460031b161c191690553880806127d1565b808886978294978701518155019601940190612794565b6001600160401b0381116110c15760051b60200190565b81601f820112156105dd5780359161283c8361280e565b9261284a6040519485611117565b808452602092838086019260051b8201019283116105dd578301905b828210612874575050505090565b81358152908301908301612866565b60e03660031901126105dd5760043561289b81610b4e565b6128a36105e2565b6001600160401b0391906044358381116105dd576128c5903690600401611199565b6064358481116105dd576128dd903690600401612825565b608435916128ea83610b4e565b60a435936128f785610b4e565b60c4359687116105dd5761291261073f973690600401611199565b95614ed3565b346105dd5760003660031901126105dd57602060405160018152f35b346105dd5760003660031901126105dd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105dd5760803660031901126105dd5760043561299681610b4e565b6024356129a281610b4e565b606435916001600160401b0383116105dd576129c561073f933690600401611199565b9160443591613a33565b346105dd5760203660031901126105dd577f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b6020600435612a0f81610b4e565b612a176137e3565b600480546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346105dd5760203660031901126105dd57600435612a5c81610b4e565b60018060a01b0316600052601c6020526020604060002054604051908152f35b346105dd5760003660031901126105dd576018546040516001600160a01b039091168152602090f35b346105dd5760003660031901126105dd57602060405160078152f35b346105dd5760203660031901126105dd576004356000818152600d6020526040902054612af8906001600160a01b0316151561588d565b600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612c5f575b50506d04ee2d6d415b85acef810000000080831015612c50575b50662386f26fc1000080831015612c41575b506305f5e10080831015612c32575b5061271080831015612c23575b506064821015612c13575b600a80921015612c09575b600190816021612b91828701614d31565b95860101905b612bd3575b60405161080f906109f281612bc5612bc08a612bba60208501614c13565b906116fc565b614c90565b03601f198101835282611117565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612c0457919082612b97565b612b9c565b9160010191612b80565b9190606460029104910191612b75565b60049193920491019138612b6a565b60089193920491019138612b5d565b60109193920491019138612b4e565b60209193920491019138612b3c565b604094500491503880612b22565b346105dd5760403660031901126105dd576001600160401b036004358181116105dd57612c9e9036906004016105f3565b6024358381116105dd57612cb69036906004016105f3565b919093612cc16137e3565b612cd060ff602254161561586d565b60405190612ce182611e8e81611d52565b82116110c157612cfb82612cf6602154611d18565b614055565b6000601f8311600114612d815791612d60612d6692827fc354b4e8393ca297df0d60baaffdd112d7eaa0382a111cc8693009e8f404d9399695600091612d76575b508360011b906000198560031b1c1916176021555b612d5b8589614b0f565b614499565b94614bed565b936125af60405192839283614c02565b905087013538612d3c565b60216000526000805160206158ad83398151915290601f198416815b818110612e035750928492612d60927fc354b4e8393ca297df0d60baaffdd112d7eaa0382a111cc8693009e8f404d9399796612d669610612de9575b5050600183811b01602155612d51565b880135600019600386901b60f8161c191690553880612dd9565b9192602060018192868b013581550194019201612d9d565b346105dd5760803660031901126105dd57612e346105cc565b612e3c6105e2565b6064356001600160401b0381116105dd57612e5b9036906004016105f3565b9092612e656137e3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156105dd5760008094612edc604051978896879586946332fb62e760e21b865261ffff80921660048701521660248501526044356044850152608060648501526084840191614002565b03925af18015610b1557612eec57005b80612ef961073f926110ae565b8061089d565b346105dd5760203660031901126105dd57600435612f1c81610b4e565b60018060a01b0316600052601f6020526020604060002054604051908152f35b346105dd5760003660031901126105dd576020601554604051908152f35b346105dd5760403660031901126105dd57612f736105cc565b602435612f7e6137e3565b8015612fda578161ffff7fc46df2983228ac2d9754e94a0d565e6671665dc8ad38602bc8e544f0685a29fb9316600052600960205281604060002055612414604051928392836020909392919361ffff60408201951681520152565b60405162461bcd60e51b815260206004820152602360248201527f647374436861696e4964546f5472616e73666572476173206d7573742062652060448201526203e20360ec1b6064820152608490fd5b61303436610636565b9161ffff8694929616600052600560205261307b81604060002060206040518092878b833787820190815203019020906001600160401b0316600052602052604060002090565b5491821561312d576131218461311a7fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e599600061310e876130f68d896130f08f6124149f8f6130cf6130dc9236908d611162565b60208151910120146142fc565b61ffff166000526005602052604060002090565b916142e3565b906001600160401b0316600052602052604060002090565b5561073136868c611162565b90876144fe565b60405195869586614352565b60405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201526261676560e81b6064820152608490fd5b346105dd5760603660031901126105dd576131976105cc565b61319f6105e2565b604435916131ab6137e3565b8215613226576124147f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac09361ffff83166000526002602052806132008560406000209061ffff16600052602052604060002090565b556040519384938460409194939294606082019561ffff80921683521660208201520152565b60405162461bcd60e51b81526020600482015260156024820152744c7a4170703a20696e76616c6964206d696e47617360581b6044820152606490fd5b346105dd5760403660031901126105dd5760043561328081610b4e565b7f081217f104a9c8ce8b5570732f898968cb602b62d54965af794344e689a625906020602435926132af6137e3565b6132bd61271085111561582d565b6001600160a01b03166000818152601c83526040908190208590555193845292a2005b346105dd5760003660031901126105dd576020601b54604051908152f35b346105dd5760003660031901126105dd5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346105dd5760403660031901126105dd57602060ff61339560043561335d81610b4e565b6024359061336a82610b4e565b60018060a01b03166000526010845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b346105dd5760003660031901126105dd57602060405160058152f35b346105dd5760003660031901126105dd576020601954604051908152f35b346105dd5760003660031901126105dd576020601a54604051908152f35b346105dd57613407366113e5565b91906134116137e3565b60009161ffff81168352600160209080825260408520916001600160401b0387116110c15761344a876134448554611d18565b856140fa565b8590601f88116001146134b15750918680879893612767957ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab99936134a6575b501b906000198460031b1c191617905560405193849384614023565b88013592503861348a565b90601f1988166134c685600052602060002090565b9288905b82821061352c575050918893917ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab9899612767969410613512575b505082811b01905561275b565b870135600019600386901b60f8161c191690553880613505565b808685968294968c013581550195019301906134ca565b346105dd5760203660031901126105dd5760043561355f6137e3565b601654816016557fd8f648a37e4afe1c401d97caaa06358d2e2725ac008214ce9f5497991e654396600080a3005b346105dd5760a03660031901126105dd576135a66105cc565b6001600160401b03906024358281116105dd576135c7903690600401611199565b6044358381116105dd576135df903690600401612825565b6135e76111b4565b916084359485116105dd57613603613609953690600401611199565b93614dc1565b60408051928352602083019190915290f35b346105dd5760203660031901126105dd5760043561363881610b4e565b6136406137e3565b6001600160a01b03908116801561368e57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346105dd5760803660031901126105dd576136fb6105cc565b6137036105e2565b9061370f604435610b4e565b604051633d7b2f6f60e21b815261ffff91821660048201529116602482015230604482015260648035908201526000816084817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610b155761080f9160009161378d575b5060405191829182610991565b6137a8913d8091833e6137a08183611117565b810190613fdd565b38613780565b346105dd5760203660031901126105dd5761ffff6137ca6105cc565b1660005260096020526020604060002054604051908152f35b6000546001600160a01b031633036137f757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316801561385b57600052600e60205260406000205490565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b156138b957565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600d60205260409020546001600160a01b03166109a28115156138b2565b1561392857565b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b6000818152600d60205260409020546139b6906001600160a01b031615156138b2565b6000908152600f60205260409020546001600160a01b031690565b156139d857565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b916111459391613a5a93613a4a61108e8433613ad6565b613a55838383613ba8565b613eee565b613ab2565b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15613ab957565b60405162461bcd60e51b815280613ad260048201613a5f565b0390fd5b6001600160a01b0380613ae8846138fe565b169281831692848414948515613b1e575b50508315613b08575b50505090565b613b1491929350613993565b1614388080613b02565b60009081526010602090815260408083206001600160a01b03949094168352929052205460ff1693503880613af9565b15613b5557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b613bcc90613bb5846138fe565b6001600160a01b0382811693909182168414613b4e565b8316928315613ccb57613c4a82613be78784613ca49661551c565b613c0985613c03613bf78a6138fe565b6001600160a01b031690565b14613b4e565b613c30613c2088600052600f602052604060002090565b80546001600160a01b0319169055565b6001600160a01b03166000908152600e6020526040902090565b80546000190190556001600160a01b0381166000908152600e6020526040902060018154019055613c8585600052600d602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6000828152600f6020526040902080546001600160a01b0319166001600160a01b0383161790556001600160a01b0380613d55846138fe565b169116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b908160209103126105dd57516109a2816107b3565b6109a2939260809260018060a01b03168252600060208301526040820152816060820152019061096c565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526109a29291019061096c565b6040513d6000823e3d90fd5b3d15613e28573d90613e0e82611147565b91613e1c6040519384611117565b82523d6000602084013e565b606090565b909190803b15613ee657613e5f602091600093604051948580948193630a85bd0160e11b998a84523360048501613d95565b03926001600160a01b03165af160009181613eb6575b50613ea857613e82613dfd565b80519081613ea35760405162461bcd60e51b815280613ad260048201613a5f565b602001fd5b6001600160e01b0319161490565b613ed891925060203d8111613edf575b613ed08183611117565b810190613d80565b9038613e75565b503d613ec6565b505050600190565b92909190823b15613f2157613e5f926020926000604051809681958294630a85bd0160e11b9a8b85523360048601613dc0565b50505050600190565b634e487b7160e01b600052603260045260246000fd5b15613f4757565b60405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b81601f820112156105dd578051613fb181611147565b92613fbf6040519485611117565b818452602082840101116105dd576109a29160208085019101610949565b906020828203126105dd5781516001600160401b0381116105dd576109a29201613f9b565b908060209392818452848401376000828201840152601f01601f1916010190565b60409061ffff6109a295931681528160208201520191614002565b818110614049575050565b6000815560010161403e565b90601f8211614062575050565b6111459160216000526000805160206158ad833981519152906020601f840160051c8301931061409a575b601f0160051c019061403e565b909150819061408d565b90601f82116140b1575050565b6111459160206000527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb906020601f840160051c8301931061409a57601f0160051c019061403e565b9190601f811161410957505050565b611145926000526020600020906020601f840160051c8301931061409a57601f0160051c019061403e565b634e487b7160e01b600052601160045260246000fd5b60131981019190821161094157565b9190820391821161094157565b9290915a604051633356ae4560e11b6020820190815261ffff871660248301526080604483015294916141d2826141c46141a360a483018761096c565b6001600160401b03881660648401528281036023190160848401528861096c565b03601f198101845283611117565b60008091604051976141e3896110fc565b609689528260208a019560a036883751923090f1903d906096821161422a575b6000908288523e15614217575b5050505050565b61422094614233565b3880808080614210565b60969150614203565b91936142d07fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c956142de939561ffff815160208301209616958660005260056020526142978361178360208b60406000208260405194838680955193849201610949565b556001600160401b036142bc604051988998895260a060208a015260a089019061096c565b92166040870152858203606087015261096c565b90838203608085015261096c565b0390a1565b6020919283604051948593843782019081520301902090565b1561430357565b60405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f616044820152601960fa1b6064820152608490fd5b9161437e9060609461ffff6001600160401b039499989799168552608060208601526080850191614002565b951660408201520152565b91906040838203126105dd578251926001600160401b03938481116105dd57826143b4918301613f9b565b93602091828101519182116105dd57019180601f840112156105dd5782516143db8161280e565b936143e96040519586611117565b818552838086019260051b8201019283116105dd578301905b828210614410575050505090565b81518152908301908301614402565b600260606111459361ffff8151168454908061ffff19831617865562010000600160b01b03602084015160101b169169ffffffffffffffffffff60b01b1617178455604081015160018501550151151591019060ff801983541691151516179055565b6040906109a293928152816020820152019061096c565b6144b190602060405192828480945193849201610949565b810103902090565b90815180825260208080930193019160005b8281106144d9575050505090565b8351855293810193928101926001016144cb565b9060206109a29281815201906144b9565b91907f5b821db8a46f8ecbe1941ba2f51cfeea9643268b56631f70d45e2a745d99026561ffff61455c601493855161453e60208089019289010182614389565b9601519661454c87896146e8565b8751811061457c57505050614499565b9361457760405192839260018060a01b0316971694826144ed565b0390a4565b6119637f10e0b70d256bccc84b7027506978bd8b68984a870788b93b479def144c839ad7938351902091604051906145b3826110c6565b8c891682526001600160a01b038c16602083015261193e565b156145d357565b60405162461bcd60e51b81526020600482015260116024820152701b9bc818dc99591a5d1cc81cdd1bdc9959607a1b6044820152606490fd5b1561461357565b60405162461bcd60e51b815260206004820152602960248201527f6e6f7420656e6f7567682067617320746f2070726f6365737320637265646974604482015268103a3930b739b332b960b91b6064820152608490fd5b60026006541461467b576002600655565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b80518210156146d45760209160051b010190565b613f2a565b60001981146109415760010190565b60009291835b81518110156147b2575a600754116147b25761470a81836146c0565b516000818152600d60205260409020549091906001600160a01b0316158015614777575b15614773576000828152600d602052604090205461476392906001600160a01b03166147685761475e908561487c565b6146d9565b6146ee565b61475e908530613ba8565b8580fd5b506000828152600d60205260409020546001600160a01b03161515801561472e57506147a2826138fe565b6001600160a01b0316301461472e565b93505050565b9291905b8151811015614877575a60075411614877576147d881836146c0565b516000818152600d60205260409020549091906001600160a01b031615801561483c575b156105dd576000828152600d602052604090205461482c92906001600160a01b03166148315761475e908661487c565b6147bc565b61475e908630613ba8565b506000828152600d60205260409020546001600160a01b0316151580156147fc5750614867826138fe565b6001600160a01b031630146147fc565b925050565b90604051614889816110e1565b600081526001600160a01b038316918215614967576111459381613a5a946148cf6148c983600052600d60205260018060a01b0360406000205416151590565b156149ab565b6148d882615672565b6148e2828461563a565b6000828152600d6020526040902054614905906001600160a01b031615156148c9565b6001600160a01b0383166000908152600e602052604090206001815401905561493c83613c8584600052600d602052604060002090565b60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4613e2d565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b156149b257565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b90601f820180921161094157565b9190820180921161094157565b15614a1957565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15614a5657565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b614aa382614a9c816149f7565b1015614a12565b614ab08282511015614a4f565b81614ac8575050604051600081526020810160405290565b60405191601f811691821560051b808486010193838501920101905b808410614afc5750508252601f01601f191660405290565b9092835181526020809101930190614ae4565b91906001600160401b0381116110c157602090614b3581614b308454611d18565b6140a4565b6000601f8211600114614b6f5781929394600092614b64575b50508160011b916000199060031b1c1916179055565b013590503880614b4e565b6020600052601f198216947fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb91805b878110614bd6575083600195969710614bbc575b505050811b019055565b0135600019600384901b60f8161c19169055388080614bb2565b909285600181928686013581550194019101614b9e565b81604051928392833781016000815203902090565b9160206109a2938181520191614002565b60215460009291614c2382611d18565b91600190818116908115614c7d5750600114614c3e57505050565b909192935060216000526000805160206158ad833981519152906000915b848310614c6a575050500190565b8181602092548587015201920191614c5c565b60ff191683525050811515909102019150565b90600091602090815491614ca383611d18565b92600190818116908115614d165750600114614cbf5750505050565b908092939495506000527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb906000915b858310614d055750505050019038808080611e11565b805485840152918301918101614cef565b60ff1916845250505081151590910201915038808080611e11565b90614d3b82611147565b614d486040519182611117565b8281528092614d59601f1991611147565b0190602036910137565b8181029291811591840414171561094157565b91908260409103126105dd576020825192015190565b60405190604082018281106001600160401b038211176110c157604052600182526020820160203682378251156146d4575290565b9060409361ffff939695614df1614e3b93614de388519a8b9260208401614eae565b03601f1981018a5289611117565b614e228651988996879663040a7bb160e41b885216600487015230602487015260a0604487015260a486019061096c565b911515606485015283820360031901608485015261096c565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa918215610b15576000908193614e8b575b50601754614e8791614a05565b9190565b614e879350614ea8915060403d81116112ec576112dd8183611117565b92614e7a565b9091614ec56109a29360408452604084019061096c565b9160208184039101526144b9565b91929396959460175495863403913483116109415760195488810180911161094157601955614f0487511515615057565b8651614f1d600191828114908115615034575b50615099565b6000815b615008575b505061ffff8794614fcf8895614fe39b98957fe1b87c47fdeb4f9cbadbca9df3af7aba453bb6e501075d0440d88125b711522a95614ff09e9f7f81124ef096134d3d08199ac5bc8e55569b17dcbe54f085c78b63a8da7f789bac9d614f9a6150039e612bc560405193849260208401614eae565b614fc9614fc28d614fb98a61ffff166000526009602052604060002090565b54905190614d63565b85896152f3565b86615148565b1698899260018060a01b0316988994614499565b94604051918291826144ed565b0390a46040519081529081906020820190565b0390a3565b885181101561502f578061475e615022615029938c6146c0565b51896153f7565b81614f21565b614f26565b905061504e8761ffff166000526008602052604060002090565b54101538614f17565b1561505e57565b60405162461bcd60e51b8152602060048201526013602482015272746f6b656e4964735b5d20697320656d70747960681b6044820152606490fd5b156150a057565b60405162461bcd60e51b815260206004820152602260248201527f62617463682073697a65206578636565647320647374206261746368206c696d6044820152611a5d60f21b6064820152608490fd5b926151156109a297959361ffff6151239416865260c0602087015260c086019061096c565b90848203604086015261096c565b6001600160a01b0391821660608401529316608082015280830360a09091015261096c565b946151719193929561ffff81166000526001602052615178604060002060405194858092611de4565b0384611117565b8251156151fd5761518a855182615388565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031693843b156105dd576000966151df91604051998a988997889662c5803160e81b8852600488016150f0565b03925af18015610b15576151f05750565b80612ef9611145926110ae565b60405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201526f61207472757374656420736f7572636560801b6064820152608490fd5b1561526257565b60405162461bcd60e51b815260206004820152601a60248201527f4c7a4170703a206d696e4761734c696d6974206e6f74207365740000000000006044820152606490fd5b156152ae57565b60405162461bcd60e51b815260206004820152601b60248201527f4c7a4170703a20676173206c696d697420697320746f6f206c6f7700000000006044820152606490fd5b9190602281511061534357602261ffff9101519216600052600260205260406000206001600052602052604060002054908101809111610941576111459161533c82151561525b565b10156152a7565b60405162461bcd60e51b815260206004820152601c60248201527f4c7a4170703a20696e76616c69642061646170746572506172616d73000000006044820152606490fd5b61ffff1660005260036020526040600020549081156153ed575b116153a957565b606460405162461bcd60e51b815260206004820152602060248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c617267656044820152fd5b61271091506153a2565b906154028133613ad6565b1561547d57615410816138fe565b6001600160a01b0383811691160361542d57611145913090613ba8565b60405162461bcd60e51b815260206004820152602260248201527f4f4e46543732313a2073656e642066726f6d20696e636f7272656374206f776e60448201526132b960f11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f4f4e46543732313a2073656e642063616c6c6572206973206e6f74206f776e6560448201526d1c881b9bdc88185c1c1c9bdd995960921b6064820152608490fd5b156154e057565b60405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b6044820152606490fd5b9091906001600160a01b03808216918261555f575061553a83615672565b83168061554d57505061114591506156cf565b03615556575050565b6111459161563a565b818516830361556f575b5061553a565b6155788161383b565b6000198101908111610941576155d0600092868452601260205260408420548381036155e1575b50836155b5886000526012602052604060002090565b556001600160a01b0316600090815260116020526040902090565b908252602052604081205538615569565b86855260116020526040852084865260205261563360408620546156178460018060a01b03166000526011602052604060002090565b8388526020528060408820556000526012602052604060002090565b553861559f565b6040906156468161383b565b9260009160018060a01b0316825260116020528282208483526020528083832055815260126020522055565b60135481600052601460205280604060002055680100000000000000008110156110c15760018101806013558110156146d45760136000527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900155565b60138054600019928382018281116109415760009282845260146020528060408520549210156146d4578484527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a08f9283820154918310156146d457849261576b61577c9388865280837f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09001556000526014602052604060002090565b556000526014602052604060002090565b55825493841561579957840193808510156146d457838352015555565b634e487b7160e01b83526031600452602483fd5b156157b457565b6040516302a9557160e61b815260066004820152602490fd5b156157d457565b6040516302a9557160e61b815260026004820152602490fd5b156157f457565b6040516302a9557160e61b815260036004820152602490fd5b1561581457565b6040516302a9557160e61b815260076004820152602490fd5b1561583457565b6040516302a9557160e61b815260086004820152602490fd5b1561585457565b6040516302a9557160e61b815260096004820152602490fd5b1561587457565b6040516302a9557160e61b815260016004820152602490fd5b1561589457565b6040516302a9557160e61b8152600480820152602490fdfe3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570a2646970667358221220ad3bcd5220b2adf5800687527f97860b29181e77191d68ef4c046b06f5a5013464736f6c6343000813003300000000000000000000000000000000000000000000000000000000000186a00000000000000000000000003c2269811836af69497e5f486a85d7316753cf620000000000000000000000000000000000000000000000000000000001c9c3810000000000000000000000000000000000000000000000000000000002160ec000000000000000000000000000000000000000000000000000cfd570a75c4000000000000000000000000000000000000000000000000000005e808f1f06800000000000000000000000000000bb3c144ccdd0c5d5400a9b4a416c32002110000000000000000000000000000000000000000000000000000000000000000000