Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AdapterParamsMustBeEmpty", "type": "error" }, { "inputs": [], "name": "AdditionToPoolIsBelowPerTransactionMinimum", "type": "error" }, { "inputs": [], "name": "AdditionToPoolWouldExceedPerAddressCap", "type": "error" }, { "inputs": [], "name": "AdditionToPoolWouldExceedPoolCap", "type": "error" }, { "inputs": [], "name": "AddressAlreadySet", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "type": "error" }, { "inputs": [], "name": "AllowanceDecreasedBelowZero", "type": "error" }, { "inputs": [], "name": "AlreadyInitialised", "type": "error" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "ApproveFromTheZeroAddress", "type": "error" }, { "inputs": [], "name": "ApproveToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "AuctionStatusIsNotEnded", "type": "error" }, { "inputs": [], "name": "AuctionStatusIsNotOpen", "type": "error" }, { "inputs": [ { "internalType": "address[]", "name": "modules", "type": "address[]" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "txGas", "type": "uint256" } ], "name": "AuxCallFailed", "type": "error" }, { "inputs": [], "name": "BalanceMismatch", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "BidMustBeBelowTheFloorForRefundDuringAuction", "type": "error" }, { "inputs": [], "name": "BidMustBeBelowTheFloorWhenReducingQuantity", "type": "error" }, { "inputs": [ { "internalType": "enum IErrors.BondingCurveErrorType", "name": "error", "type": "uint8" } ], "name": "BondingCurveError", "type": "error" }, { "inputs": [], "name": "BurnExceedsBalance", "type": "error" }, { "inputs": [], "name": "BurnFromTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CallerIsNotAdminNorFactory", "type": "error" }, { "inputs": [], "name": "CallerIsNotDepositBoxOwner", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactory", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactoryOrProjectOwner", "type": "error" }, { "inputs": [], "name": "CallerIsNotFactoryProjectOwnerOrPool", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" } ], "name": "CallerIsNotPlatformAdmin", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address" } ], "name": "CallerIsNotSuperAdmin", "type": "error" }, { "inputs": [], "name": "CallerIsNotTheManager", "type": "error" }, { "inputs": [], "name": "CallerIsNotTheOwner", "type": "error" }, { "inputs": [], "name": "CallerMustBeLzApp", "type": "error" }, { "inputs": [], "name": "CanOnlyReduce", "type": "error" }, { "inputs": [], "name": "CannotAddLiquidityOnCreateAndUseDRIPool", "type": "error" }, { "inputs": [], "name": "CannotSetNewManagerToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotSetNewOwnerToTheZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotSetToZeroAddress", "type": "error" }, { "inputs": [], "name": "CannotWithdrawThisToken", "type": "error" }, { "inputs": [], "name": "CollectionAlreadyRevealed", "type": "error" }, { "inputs": [], "name": "ContractIsDecommissioned", "type": "error" }, { "inputs": [], "name": "ContractIsNotPaused", "type": "error" }, { "inputs": [], "name": "ContractIsPaused", "type": "error" }, { "inputs": [], "name": "DecreasedAllowanceBelowZero", "type": "error" }, { "inputs": [], "name": "DeployerOnly", "type": "error" }, { "inputs": [], "name": "DeploymentError", "type": "error" }, { "inputs": [], "name": "DepositBoxIsNotOpen", "type": "error" }, { "inputs": [], "name": "DestinationIsNotTrustedSource", "type": "error" }, { "inputs": [], "name": "DriPoolAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [], "name": "GasLimitIsTooLow", "type": "error" }, { "inputs": [], "name": "IncorrectConfirmationValue", "type": "error" }, { "inputs": [], "name": "IncorrectPayment", "type": "error" }, { "inputs": [], "name": "InitialLiquidityAlreadyAdded", "type": "error" }, { "inputs": [], "name": "InitialLiquidityNotYetAdded", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InvalidAdapterParams", "type": "error" }, { "inputs": [], "name": "InvalidAddress", "type": "error" }, { "inputs": [], "name": "InvalidEndpointCaller", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "InvalidMinGas", "type": "error" }, { "inputs": [], "name": "InvalidOracleSignature", "type": "error" }, { "inputs": [], "name": "InvalidPayload", "type": "error" }, { "inputs": [], "name": "InvalidReceiver", "type": "error" }, { "inputs": [], "name": "InvalidSourceSendingContract", "type": "error" }, { "inputs": [], "name": "InvalidTotalShares", "type": "error" }, { "inputs": [], "name": "LPLockUpMustFitUint88", "type": "error" }, { "inputs": [], "name": "LimitsCanOnlyBeRaised", "type": "error" }, { "inputs": [], "name": "LiquidityPoolCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "LiquidityPoolMustBeAContractAddress", "type": "error" }, { "inputs": [], "name": "ListLengthMismatch", "type": "error" }, { "inputs": [], "name": "MachineAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ManagerUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "MaxBidQuantityIs255", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "requested", "type": "uint256" }, { "internalType": "uint256", "name": "alreadyMinted", "type": "uint256" }, { "internalType": "uint256", "name": "maxAllowance", "type": "uint256" } ], "name": "MaxPublicMintAllowanceExceeded", "type": "error" }, { "inputs": [], "name": "MaxSupplyTooHigh", "type": "error" }, { "inputs": [], "name": "MaxTokensPerTxnExceeded", "type": "error" }, { "inputs": [], "name": "MaxTokensPerWalletExceeded", "type": "error" }, { "inputs": [], "name": "MetadataIsLocked", "type": "error" }, { "inputs": [], "name": "MinGasLimitNotSet", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "MintingIsClosedForever", "type": "error" }, { "inputs": [], "name": "NewBuyTaxBasisPointsExceedsMaximum", "type": "error" }, { "inputs": [], "name": "NewSellTaxBasisPointsExceedsMaximum", "type": "error" }, { "inputs": [], "name": "NoETHForLiquidityPair", "type": "error" }, { "inputs": [], "name": "NoPaymentDue", "type": "error" }, { "inputs": [], "name": "NoRefundForCaller", "type": "error" }, { "inputs": [], "name": "NoStoredMessage", "type": "error" }, { "inputs": [], "name": "NoTokenForLiquidityPair", "type": "error" }, { "inputs": [], "name": "NoTrustedPathRecord", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [], "name": "NothingToClaim", "type": "error" }, { "inputs": [], "name": "OperationDidNotSucceed", "type": "error" }, { "inputs": [], "name": "OracleSignatureHasExpired", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "ParamTooLargeEndDate", "type": "error" }, { "inputs": [], "name": "ParamTooLargeMinETH", "type": "error" }, { "inputs": [], "name": "ParamTooLargePerAddressMax", "type": "error" }, { "inputs": [], "name": "ParamTooLargePoolPerTxnMinETH", "type": "error" }, { "inputs": [], "name": "ParamTooLargePoolSupply", "type": "error" }, { "inputs": [], "name": "ParamTooLargeStartDate", "type": "error" }, { "inputs": [], "name": "ParamTooLargeVestingDays", "type": "error" }, { "inputs": [], "name": "ParametersDoNotMatchSignedMessage", "type": "error" }, { "inputs": [], "name": "PassedConfigDoesNotMatchApproved", "type": "error" }, { "inputs": [], "name": "PauseCutOffHasPassed", "type": "error" }, { "inputs": [], "name": "PaymentMustCoverPerMintFee", "type": "error" }, { "inputs": [], "name": "PermitDidNotSucceed", "type": "error" }, { "inputs": [], "name": "PlatformAdminCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "PlatformTreasuryCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "PoolIsAboveMinimum", "type": "error" }, { "inputs": [], "name": "PoolIsBelowMinimum", "type": "error" }, { "inputs": [], "name": "PoolPhaseIsClosed", "type": "error" }, { "inputs": [], "name": "PoolPhaseIsNotAfter", "type": "error" }, { "inputs": [], "name": "PoolVestingNotYetComplete", "type": "error" }, { "inputs": [], "name": "ProjectOwnerCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ProofInvalid", "type": "error" }, { "inputs": [], "name": "QuantityExceedsMaxPossibleCollectionSupply", "type": "error" }, { "inputs": [], "name": "QuantityExceedsRemainingCollectionSupply", "type": "error" }, { "inputs": [], "name": "QuantityExceedsRemainingPhaseSupply", "type": "error" }, { "inputs": [], "name": "ReferralIdAlreadyUsed", "type": "error" }, { "inputs": [], "name": "RequestingMoreThanAvailableBalance", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "previouslyMinted", "type": "uint256" }, { "internalType": "uint256", "name": "requested", "type": "uint256" }, { "internalType": "uint256", "name": "remainingAllocation", "type": "uint256" } ], "name": "RequestingMoreThanRemainingAllocation", "type": "error" }, { "inputs": [], "name": "RoyaltyFeeWillExceedSalePrice", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "SafeERC20FailedOperation", "type": "error" }, { "inputs": [], "name": "ShareTotalCannotBeZero", "type": "error" }, { "inputs": [], "name": "SliceOutOfBounds", "type": "error" }, { "inputs": [], "name": "SliceOverflow", "type": "error" }, { "inputs": [], "name": "SuperAdminCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "SupplyTotalMismatch", "type": "error" }, { "inputs": [], "name": "SupportWindowIsNotOpen", "type": "error" }, { "inputs": [], "name": "TaxFreeAddressCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "TaxPeriodStillInForce", "type": "error" }, { "inputs": [], "name": "TemplateCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "TemplateNotFound", "type": "error" }, { "inputs": [], "name": "ThisMintIsClosed", "type": "error" }, { "inputs": [], "name": "TotalSharesMustMatchDenominator", "type": "error" }, { "inputs": [], "name": "TransferAmountExceedsBalance", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFailed", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferFromZeroAddress", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "UnrecognisedVRFMode", "type": "error" }, { "inputs": [], "name": "VRFCoordinatorCannotBeAddressZero", "type": "error" }, { "inputs": [], "name": "ValueExceedsMaximum", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldThreshold", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newThreshold", "type": "uint256" } ], "name": "AutoSwapThresholdUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "identifier", "type": "uint256" } ], "name": "ExternalCallError", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenA", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokenB", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lpToken", "type": "uint256" } ], "name": "InitialLiquidityAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldMaxTokensPerTransaction", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newMaxTokensPerTransaction", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldMaxTokensPerWallet", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newMaxTokensPerWallet", "type": "uint256" } ], "name": "LimitsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addedPool", "type": "address" } ], "name": "LiquidityPoolAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addedPool", "type": "address" } ], "name": "LiquidityPoolCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "removedPool", "type": "address" } ], "name": "LiquidityPoolRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBuyBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "oldSellBasisPoints", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newSellBasisPoints", "type": "uint256" } ], "name": "ProjectTaxBasisPointsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "treasury", "type": "address" } ], "name": "ProjectTaxRecipientUpdated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "RevenueAutoSwap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "addedValidCaller", "type": "bytes32" } ], "name": "ValidCallerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "removedValidCaller", "type": "bytes32" } ], "name": "ValidCallerRemoved", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "lpOwner", "type": "address" } ], "name": "addInitialLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newLiquidityPool_", "type": "address" } ], "name": "addLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "newValidCallerHash_", "type": "bytes32" } ], "name": "addValidCaller", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "botProtectionDurationInSeconds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "distributeTaxTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "fundedDate", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[3]", "name": "integrationAddresses_", "type": "address[3]" }, { "internalType": "bytes", "name": "baseParams_", "type": "bytes" }, { "internalType": "bytes", "name": "supplyParams_", "type": "bytes" }, { "internalType": "bytes", "name": "taxParams_", "type": "bytes" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "queryAddress_", "type": "address" } ], "name": "isLiquidityPool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "queryHash_", "type": "bytes32" } ], "name": "isValidCaller", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPools", "outputs": [ { "internalType": "address[]", "name": "liquidityPools_", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectBuyTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectSellTaxBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectTaxPendingSwap", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectTaxRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "removedLiquidityPool_", "type": "address" } ], "name": "removeLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "removedValidCallerHash_", "type": "bytes32" } ], "name": "removeValidCaller", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newProjectBuyTaxBasisPoints_", "type": "uint16" }, { "internalType": "uint16", "name": "newProjectSellTaxBasisPoints_", "type": "uint16" } ], "name": "setProjectTaxRates", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "projectTaxRecipient_", "type": "address" } ], "name": "setProjectTaxRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "swapThresholdBasisPoints_", "type": "uint16" } ], "name": "setSwapThresholdBasisPoints", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapThresholdBasisPoints", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBuyTaxBasisPoints", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTaxBasisPoints", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "validCallers", "outputs": [ { "internalType": "bytes32[]", "name": "validCallerHashes_", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "vault", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token_", "type": "address" }, { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "withdrawERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61318280620000e66000396000f3fe6080604052600436106102815760003560e01c8063936b29341161014f578063bfe3098f116100c1578063ea8b24241161007a578063ea8b2424146107d1578063ee6a934c146107f1578063eeae0f9714610811578063f14210a614610831578063f2fde38b14610851578063fbfa77cf1461087157600080fd5b8063bfe3098f1461071a578063d6efd7c31461073a578063dd62ed3e1461075c578063e30c39781461077c578063e37d9e9514610791578063e85455d7146107b157600080fd5b8063a45cae0211610113578063a45cae021461063c578063a9059cbb1461065e578063ae22107f1461067e578063b0d750971461069e578063b2c5c9eb146106d6578063b498d39f146106f857600080fd5b8063936b2934146105a757806395d89b41146105c75780639808751d146105dc578063a1db9782146105fc578063a457c2d71461061c57600080fd5b806342966c68116101f3578063715018a6116101ac578063715018a61461050857806379ba50971461051d57806379cc67901461053257806384b1df52146105525780638589287a146105725780638da5cb5b1461059257600080fd5b806342966c681461042757806349bd5a5e146104475780634bed5ad21461046757806359cabbe41461049c57806363a9c1f2146104bc57806370a08231146104d257600080fd5b806323b872dd1161024557806323b872dd1461035c5780632ead09551461037c578063313ce56714610393578063326b3b8b146103af57806339509351146103cf5780633de35b79146103ef57600080fd5b8063038272b61461028d57806306fdde03146102bc578063095ea7b3146102de57806310b828c91461030e57806318160ddd1461034757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b50600254600160d81b900461ffff165b6040519081526020015b60405180910390f35b3480156102c857600080fd5b506102d1610891565b6040516102b391906127d2565b3480156102ea57600080fd5b506102fe6102f936600461281a565b610923565b60405190151581526020016102b3565b34801561031a57600080fd5b5060025461033290600160a81b900463ffffffff1681565b60405163ffffffff90911681526020016102b3565b34801561035357600080fd5b506009546102a9565b34801561036857600080fd5b506102fe610377366004612846565b61093d565b34801561038857600080fd5b5061039161097b565b005b34801561039f57600080fd5b50604051601281526020016102b3565b3480156103bb57600080fd5b506103916103ca366004612899565b6109c8565b3480156103db57600080fd5b506102fe6103ea36600461281a565b610a81565b3480156103fb57600080fd5b5060035461040f906001600160a01b031681565b6040516001600160a01b0390911681526020016102b3565b34801561043357600080fd5b506103916104423660046128b4565b610aa3565b34801561045357600080fd5b5060005461040f906001600160a01b031681565b34801561047357600080fd5b5060025461048990600160e81b900461ffff1681565b60405161ffff90911681526020016102b3565b3480156104a857600080fd5b506103916104b73660046128cd565b610aad565b3480156104c857600080fd5b506102a960015481565b3480156104de57600080fd5b506102a96104ed3660046128cd565b6001600160a01b03166000908152600a602052604090205490565b34801561051457600080fd5b50610391610aff565b34801561052957600080fd5b50610391610b11565b34801561053e57600080fd5b5061039161054d36600461281a565b610b5b565b34801561055e57600080fd5b5061039161056d3660046129d8565b610b74565b34801561057e57600080fd5b5061039161058d3660046128b4565b610e04565b34801561059e57600080fd5b5061040f610e90565b3480156105b357600080fd5b506103916105c2366004612ab4565b610ec5565b3480156105d357600080fd5b506102d1610fa4565b3480156105e857600080fd5b506103916105f73660046128cd565b610fb3565b34801561060857600080fd5b5061039161061736600461281a565b61104a565b34801561062857600080fd5b506102fe61063736600461281a565b6110d0565b34801561064857600080fd5b5060025461048990600160c81b900461ffff1681565b34801561066a57600080fd5b506102fe61067936600461281a565b611119565b34801561068a57600080fd5b506103916106993660046128cd565b61112b565b3480156106aa57600080fd5b506005546106be906001600160801b031681565b6040516001600160801b0390911681526020016102b3565b3480156106e257600080fd5b5060025461048990600160d81b900461ffff1681565b34801561070457600080fd5b5061070d6111b9565b6040516102b39190612ae7565b34801561072657600080fd5b506102fe6107353660046128b4565b6111ca565b34801561074657600080fd5b5061074f6111d7565b6040516102b39190612b6f565b34801561076857600080fd5b506102a9610777366004612b82565b6111e3565b34801561078857600080fd5b5061040f61120e565b34801561079d57600080fd5b506103916107ac3660046128b4565b611237565b3480156107bd57600080fd5b506102fe6107cc3660046128cd565b6112bc565b3480156107dd57600080fd5b5060045461040f906001600160a01b031681565b3480156107fd57600080fd5b5061039161080c3660046128cd565b6112df565b34801561081d57600080fd5b50600254600160c81b900461ffff166102a9565b34801561083d57600080fd5b5061039161084c3660046128b4565b6113bf565b34801561085d57600080fd5b5061039161086c3660046128cd565b611471565b34801561087d57600080fd5b5060065461040f906001600160a01b031681565b6060600780546108a090612bbb565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90612bbb565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b5050505050905090565b6000336109318185856114f6565b60019150505b92915050565b60003361094b8582856115a6565b61096e85858561095a896112bc565b806109695750610969886112bc565b6115f1565b60019150505b9392505050565b6005546001600160801b0316156109c657600580546001600160801b031981169091556004546001600160801b03909116906109c49030906001600160a01b03168360006115f1565b505b565b336109d1610e90565b6001600160a01b0316141580156109f357506010546001600160a01b03163314155b15610a115760405163faa39fbf60e01b815260040160405180910390fd5b6002805461ffff838116600160e81b90810261ffff60e81b198416179093556040519290910416907fe4351c45b53ffb7ebad0b66cc0f1a3dfe2963c099421eeaded141104df39206a90610a75908390859091825261ffff16602082015260400190565b60405180910390a15050565b600033610931818585610a9483836111e3565b610a9e9190612c0b565b6114f6565b6109c433826116a5565b33610ab6610e90565b6001600160a01b031614158015610ad857506010546001600160a01b03163314155b15610af65760405163faa39fbf60e01b815260040160405180910390fd5b6109c48161175a565b610b07611a93565b6109c66000611ac5565b3380610b1b61120e565b6001600160a01b031614610b525760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6109c481611ac5565b610b668233836115a6565b610b7082826116a5565b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610bba5750825b905060008267ffffffffffffffff166001148015610bd75750303b155b905081158015610be5575080155b15610c035760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c2d57845460ff60401b1916600160401b1785555b8851610c399089611afd565b6020808a015160028054610100600160a81b0319166101006001600160a01b039384160217905560408b015160038054919092166001600160a01b03199091161790558751600091610c91918a018101908a01612c34565b9050600087806020019051810190610ca99190612cbe565b9050610cb482611b37565b6000610cc26012600a612e0e565b8360200151610cd19190612e1d565b90506000610ce16012600a612e0e565b8460400151610cf09190612e1d565b60a08501516001559050610d0383611bb9565b60028054604086015161ffff16600160e81b0261ffff60e81b199315159390931660ff61ffff60e81b0119909116179190911790556060830151600480546001600160a01b039092166001600160a01b0319909216919091179055610d688282611c22565b610d70611c4e565b600080546001600160a01b03929092166001600160a01b03199283161790556010805490911633179055505060038054600160a01b60ff60a01b1990911617905550508315610df957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b33610e0d610e90565b6001600160a01b031614158015610e2f57506010546001600160a01b03163314155b15610e4d5760405163faa39fbf60e01b815260040160405180910390fd5b610e58600c82611d89565b506040518181527fdd5aeaec2032ed464aed048b9014721d48de827cef3d77f78f0a76f1f0136dd4906020015b60405180910390a150565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b33610ece610e90565b6001600160a01b031614158015610ef057506010546001600160a01b03163314155b15610f0e5760405163faa39fbf60e01b815260040160405180910390fd5b6002805461ffff838116600160d81b81810261ffff60d81b19888516600160c81b8181029290921663ffffffff60c81b1988161792909217909655604080519686048516808852602088019290925291909404909216918401829052606084015290917f8da1f77a22734510b762a9625e69e737d7c0cc48984e810e5802fb341eb80a3e9060800160405180910390a150505050565b6060600880546108a090612bbb565b33610fbc610e90565b6001600160a01b031614158015610fde57506010546001600160a01b03163314155b15610ffc5760405163faa39fbf60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fa4eea51cd2f21eac6612ba054a363ae2fd59698fc258ab414313cd73f69f2b8590602001610e85565b33611053610e90565b6001600160a01b03161415801561107557506010546001600160a01b03163314155b156110935760405163faa39fbf60e01b815260040160405180910390fd5b306001600160a01b038316036110bc5760405163992501b360e01b815260040160405180910390fd5b610b706001600160a01b0383163383611d95565b600033816110de82866111e3565b90508381101561110157604051637b5591b560e11b815260040160405180910390fd5b61110e82868684036114f6565b506001949350505050565b60003361093181858561095a836112bc565b33611134610e90565b6001600160a01b03161415801561115657506010546001600160a01b03163314155b156111745760405163faa39fbf60e01b815260040160405180910390fd5b61117f600e82611de7565b506040516001600160a01b03821681527f59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee6090602001610e85565b60606111c5600c611dfc565b905090565b6000610937600c83611e09565b60606111c5600e611dfc565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610eb5565b33611240610e90565b6001600160a01b03161415801561126257506010546001600160a01b03163314155b156112805760405163faa39fbf60e01b815260040160405180910390fd5b61128b600c82611e21565b506040518181527ff7d7abaf8b0e82705f2ef671054dd11a306d870da0bbb8be1ff24bd0096de7ba90602001610e85565b600080546001600160a01b03838116911614806109375750610937600e83611e2d565b336112e8610e90565b6001600160a01b03161415801561130a57506010546001600160a01b03163314155b156113285760405163faa39fbf60e01b815260040160405180910390fd5b6001600160a01b03811661134f5760405163b47cdee560e01b815260040160405180910390fd5b806001600160a01b03163b60000361137a57604051630f9da0c760e41b815260040160405180910390fd5b611385600e82611e4f565b506040516001600160a01b03821681527fb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d8990602001610e85565b336113c8610e90565b6001600160a01b0316141580156113ea57506010546001600160a01b03163314155b156114085760405163faa39fbf60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d806000811461144a576040519150601f19603f3d011682016040523d82523d6000602084013e61144f565b606091505b5050905080610b70576040516312171d8360e31b815260040160405180910390fd5b611479611a93565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b03831690811782556114bd610e90565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6001600160a01b03831661151d576040516356fdae6560e11b815260040160405180910390fd5b6001600160a01b0382166115445760405163b2fa1ef360e01b815260040160405180910390fd5b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006115b284846111e3565b905060001981146115eb57818110156115de576040516313be252b60e01b815260040160405180910390fd5b6115eb84848484036114f6565b50505050565b60006115fe858585611e64565b905061160a8585611f4b565b600061161883868887611ffb565b90506116248483612e34565b6001600160a01b038088166000908152600a6020526040808220939093559087168152908120805483929061165a908490612c0b565b92505081905550846001600160a01b0316866001600160a01b031660008051602061312d8339815191528360405161169491815260200190565b60405180910390a35b505050505050565b6001600160a01b0382166116cc576040516304fca6bd60e41b815260040160405180910390fd5b6001600160a01b0382166000908152600a6020526040902054818110156117065760405163588569f760e01b815260040160405180910390fd5b6001600160a01b0383166000818152600a602090815260408083208686039055600980546001600160801b038816900390555185815291929160008051602061312d8339815191529101611599565b505050565b600254600160a81b900463ffffffff16156117885760405163b1f3376760e01b815260040160405180910390fd5b6002805463ffffffff60a81b1916600160a81b4263ffffffff1602179055306000908152600a60205260409020546000036117d6576040516330d86fb160e11b815260040160405180910390fd5b6002546117f590309061010090046001600160a01b03166000196114f6565b60035460025460405163095ea7b360e01b81526001600160a01b0361010090920482166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015611850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118749190612e47565b50600254600354600091829182916001600160a01b0361010090910481169163e8e33700913091166118bb826001600160a01b03166000908152600a602052604090205490565b6003546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119279190612e69565b6040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529390921660248401526044830152606482015260006084820181905260a48201523060c48201524260e4820152610104016060604051808303816000875af115801561199b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bf9190612e82565b604080518481526020810184905290810182905292955090935091507fbf59dda00152e02f20e18cab7307c8afe0714e7f69cf24a1377cbbddcb40f9bb9060600160405180910390a16003805460ff60a01b1916905560005460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015611a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8c9190612e47565b5050505050565b33611a9c610e90565b6001600160a01b0316146109c65760405163118cdaa760e01b8152336004820152602401610b49565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319168155610b7082612180565b611b0682611ac5565b80806020019051810190611b1a9190612ef5565b600760006008611b2a8482612f9f565b50611a8c90508382612f9f565b80602001518160400151611b4b9190612c0b565b815114611b6b576040516361cf53d560e01b815260040160405180910390fd5b80516001600160801b031015611b9457604051637f47720f60e11b815260040160405180910390fd5b60c00151600680546001600160a01b0319166001600160a01b03909216919091179055565b8051600090158015611bcd57506020820151155b15611bda57506000919050565b5080516002805460209093015161ffff908116600160d81b0261ffff60d81b1991909316600160c81b021663ffffffff60c81b1990931692909217179055600190565b919050565b8115611c3257611c3230836121f1565b8015610b7057600654610b70906001600160a01b0316826121f1565b6000600260019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc7919061305f565b6003546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015611d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3c919061305f565b9050611d49600e82611e4f565b506040516001600160a01b03821681527f969ffc8569f9af3993220e04ac05164e5db4e3d9f8b1a47f64e7de9a04b8ea2f9060200160405180910390a190565b60006109748383612279565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611755908490612373565b6000610974836001600160a01b038416612279565b60606000610974836123d6565b60008181526001830160205260408120541515610974565b60006109748383612432565b6001600160a01b03811660009081526001830160205260408120541515610974565b6000610974836001600160a01b038416612432565b600080546001600160a01b038481169116148015611e8b57506001600160a01b0384163014155b8015611ea45750600254600160a81b900463ffffffff16155b15611ec257604051630d970b4560e21b815260040160405180910390fd5b6001600160a01b038416611ee957604051630b07e54560e11b815260040160405180910390fd5b6001600160a01b038316611f1057604051633a954ecd60e21b815260040160405180910390fd5b506001600160a01b0383166000908152600a60205260409020548181101561097457604051635dd58b8b60e01b815260040160405180910390fd5b60025460ff1615610b7057306000908152600a6020526040812054600254600954919250829160009161271091611f8d91600160e81b900461ffff1690612e1d565b611f97919061307c565b9050611fa585858484612481565b15611a8c576003805460ff60a01b1916600160a01b179055611fc8601482612e1d565b821115611fdd57611fda601482612e1d565b91505b611fe782846124f6565b6003805460ff60a01b191690555050505050565b600254819060ff16801561200c5750845b80156120225750600354600160a01b900460ff16155b15612178576000612032856112bc565b801561204c5750600254600090600160d81b900461ffff16115b156120a857600254600160d81b900461ffff16156120a357600254600580546001600160801b0380821661271061ffff600160d81b90960495909516880294909404938401166001600160801b0319909116179055015b612122565b6120b1846112bc565b80156120cb5750600254600090600160c81b900461ffff16115b1561212257600254600160c81b900461ffff161561212257600254600580546001600160801b0380821661271061ffff600160c81b90960495909516880294909404938401166001600160801b0319909116179055015b801561217657306000818152600a602052604090819020805484019055516001600160a01b0386169060008051602061312d833981519152906121689085815260200190565b60405180910390a380820391505b505b949350505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6001600160a01b03821661221757604051622e076360e81b815260040160405180910390fd5b806001600160801b0316600960008282546122329190612c0b565b90915550506001600160a01b0382166000818152600a602090815260408083208054860190555184815260008051602061312d833981519152910160405180910390a35050565b6000818152600183016020526040812054801561236257600061229d600183612e34565b85549091506000906122b190600190612e34565b90508082146123165760008660000182815481106122d1576122d1612c1e565b90600052602060002001549050808760000184815481106122f4576122f4612c1e565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806123275761232761309e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610937565b6000915050610937565b5092915050565b60006123886001600160a01b038416836126a7565b905080516000141580156123ad5750808060200190518101906123ab9190612e47565b155b1561175557604051635274afe760e01b81526001600160a01b0384166004820152602401610b49565b60608160000180548060200260200160405190810160405280929190818152602001828054801561242657602002820191906000526020600020905b815481526020019060010190808311612412575b50505050509050919050565b600081815260018301602052604081205461247957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610937565b506000610937565b600081831015801561249d5750600354600160a01b900460ff16155b80156124af57506124ad856112bc565b155b80156124ce57506002546001600160a01b038681166101009092041614155b80156124ed57506002546001600160a01b038581166101009092041614155b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061252b5761252b612c1e565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061255c5761255c612c1e565b6001600160a01b039283166020918202929092010152600254600454610100909104821691635c11d79591869160009186911661259b42610258612c0b565b6040518663ffffffff1660e01b81526004016125bb9594939291906130b4565b600060405180830381600087803b1580156125d557600080fd5b505af19250505080156125e6575060015b61262357604051600581527f60dc41faad9fe4f70f304dcef26d96d71e98ec8e21e4a340921d94dfe46307dc9060200160405180910390a1505050565b818310156126925760055482906126449085906001600160801b0316612e1d565b61264e919061307c565b600580546000906126699084906001600160801b03166130f0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b600580546001600160801b0319169055505050565b60606109748383600084600080856001600160a01b031684866040516126cd9190613110565b60006040518083038185875af1925050503d806000811461270a576040519150601f19603f3d011682016040523d82523d6000602084013e61270f565b606091505b509150915061271f868383612729565b9695505050505050565b60608261273e5761273982612785565b610974565b815115801561275557506001600160a01b0384163b155b1561277e57604051639996b31560e01b81526001600160a01b0385166004820152602401610b49565b5080610974565b8051156127955780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b838110156127c95781810151838201526020016127b1565b50506000910152565b60208152600082518060208401526127f18160408501602087016127ae565b601f01601f19169190910160400192915050565b6001600160a01b03811681146109c457600080fd5b6000806040838503121561282d57600080fd5b823561283881612805565b946020939093013593505050565b60008060006060848603121561285b57600080fd5b833561286681612805565b9250602084013561287681612805565b929592945050506040919091013590565b803561ffff81168114611c1d57600080fd5b6000602082840312156128ab57600080fd5b61097482612887565b6000602082840312156128c657600080fd5b5035919050565b6000602082840312156128df57600080fd5b813561097481612805565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612923576129236128ea565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612952576129526128ea565b604052919050565b600067ffffffffffffffff821115612974576129746128ea565b50601f01601f191660200190565b600082601f83011261299357600080fd5b81356129a66129a18261295a565b612929565b8181528460208386010111156129bb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060c085870312156129ee57600080fd5b85601f8601126129fd57600080fd5b612a05612900565b806060870188811115612a1757600080fd5b875b81811015612a3a578035612a2c81612805565b845260209384019301612a19565b5090955035905067ffffffffffffffff80821115612a5757600080fd5b612a6388838901612982565b94506080870135915080821115612a7957600080fd5b612a8588838901612982565b935060a0870135915080821115612a9b57600080fd5b50612aa887828801612982565b91505092959194509250565b60008060408385031215612ac757600080fd5b612ad083612887565b9150612ade60208401612887565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015612b1f57835183529284019291840191600101612b03565b50909695505050505050565b600081518084526020808501945080840160005b83811015612b645781516001600160a01b031687529582019590820190600101612b3f565b509495945050505050565b6020815260006109746020830184612b2b565b60008060408385031215612b9557600080fd5b8235612ba081612805565b91506020830135612bb081612805565b809150509250929050565b600181811c90821680612bcf57607f821691505b602082108103612bef57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561093757610937612bf5565b634e487b7160e01b600052603260045260246000fd5b600060e08284031215612c4657600080fd5b60405160e0810181811067ffffffffffffffff82111715612c6957612c696128ea565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c0830151612cb281612805565b60c08201529392505050565b600060808284031215612cd057600080fd5b6040516080810181811067ffffffffffffffff82111715612cf357612cf36128ea565b80604052508251815260208301516020820152604083015160408201526060830151612d1e81612805565b60608201529392505050565b600181815b80851115612d65578160001904821115612d4b57612d4b612bf5565b80851615612d5857918102915b93841c9390800290612d2f565b509250929050565b600082612d7c57506001610937565b81612d8957506000610937565b8160018114612d9f5760028114612da957612dc5565b6001915050610937565b60ff841115612dba57612dba612bf5565b50506001821b610937565b5060208310610133831016604e8410600b8410161715612de8575081810a610937565b612df28383612d2a565b8060001904821115612e0657612e06612bf5565b029392505050565b600061097460ff841683612d6d565b808202811582820484141761093757610937612bf5565b8181038181111561093757610937612bf5565b600060208284031215612e5957600080fd5b8151801515811461097457600080fd5b600060208284031215612e7b57600080fd5b5051919050565b600080600060608486031215612e9757600080fd5b8351925060208401519150604084015190509250925092565b600082601f830112612ec157600080fd5b8151612ecf6129a18261295a565b818152846020838601011115612ee457600080fd5b6121788260208301602087016127ae565b60008060408385031215612f0857600080fd5b825167ffffffffffffffff80821115612f2057600080fd5b612f2c86838701612eb0565b93506020850151915080821115612f4257600080fd5b50612f4f85828601612eb0565b9150509250929050565b601f82111561175557600081815260208120601f850160051c81016020861015612f805750805b601f850160051c820191505b8181101561169d57828155600101612f8c565b815167ffffffffffffffff811115612fb957612fb96128ea565b612fcd81612fc78454612bbb565b84612f59565b602080601f8311600181146130025760008415612fea5750858301515b600019600386901b1c1916600185901b17855561169d565b600085815260208120601f198616915b8281101561303157888601518255948401946001909101908401613012565b508582101561304f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561307157600080fd5b815161097481612805565b60008261309957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fd5b85815284602082015260a0604082015260006130d360a0830186612b2b565b6001600160a01b0394909416606083015250608001529392505050565b6001600160801b0382811682821603908082111561236c5761236c612bf5565b600082516131228184602087016127ae565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f378fc068fe2d95a3dc36f65035a808f64eb28cbe1f8a7e007ca83aed895250164736f6c63430008140033