{"documentInfo":{"documentType":"https://xbrl.org/PWD/2026-09-01/compiled","namespaces":{"xbrl":"https://xbrl.org/PWD/2026-09-01","xbrlr":"https://xbrl.org/PWD/2026-09-01/report","xbrla":"https://xbrl.org/PWD/2026-09-01/accounting","xs":"http://www.w3.org/2001/XMLSchema","iso4217":"http://www.xbrl.org/2003/iso4217","utr":"https://xbrl.org/PWD/2026-09-01/utr","rpt":"https://robosystems.ai/tavi/report/0001628280-25-057082","cik":"http://www.sec.gov/CIK","dei":"http://xbrl.sec.gov/dei/2025","xbrli":"http://www.xbrl.org/2003/instance","us-gaap":"http://fasb.org/us-gaap/2025","srt":"http://fasb.org/srt/2025","dtr-types":"http://www.xbrl.org/dtr/type/2024-01-31","csbr":"http://championsoncology.com/20251031","ecd":"http://xbrl.sec.gov/ecd/2025"},"description":"10-Q 0001628280-25-057082 (CIK 0000771856) projected from XBRL by xbrlkit"},"xbrlModel":{"name":"rpt:Report","modelType":"xbrl:report","properties":[{"property":"xbrl:reportFilingDate","value":"2025-12-15"}],"entities":[{"name":"cik:0000771856"}],"units":[{"name":"xbrla:shares","dataType":"xbrla:sharesType"},{"name":"iso4217:USD","dataType":"xbrlr:monetary"},{"name":"rpt:unit-3","dataType":"xbrlr:perShare","compositeUnitRepresentation":["iso4217:USD/xbrla:shares"]},{"name":"csbr:subsidiary","dataType":"xs:decimal"},{"name":"csbr:segment","dataType":"xs:decimal"}],"dataTypes":[{"name":"xbrli:gMonthDayItemType","baseType":"xs:gMonthDay"},{"name":"dei:fiscalPeriodItemType","baseType":"xs:token"},{"name":"dei:submissionTypeItemType","baseType":"xs:string"},{"name":"dei:stateOrProvinceItemType","baseType":"xs:string"},{"name":"dei:centralIndexKeyItemType","baseType":"xs:token"},{"name":"dei:yesNoItemType","baseType":"xs:token"},{"name":"dei:fileNumberItemType","baseType":"xs:string"},{"name":"dei:filerCategoryItemType","baseType":"xs:string"},{"name":"dei:edgarStateCountryItemType","baseType":"xs:string"},{"name":"dei:employerIdItemType","baseType":"xs:token"},{"name":"dei:securityTitleItemType","baseType":"xs:normalizedString"},{"name":"dei:edgarExchangeCodeItemType","baseType":"xs:normalizedString"},{"name":"dei:tradingSymbolItemType","baseType":"xs:normalizedString"}],"concepts":[{"name":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:CollaborationArrangementRoyaltyFee","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:FinanceLeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:NumberOfOperatingSubsidiaries","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:PresentValueMinimumFutureObligationsInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","dataType":"xbrlr:pureType","periodType":"duration","nillable":true},{"name":"csbr:WorkingCapitalDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"dei:AmendmentFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:CityAreaCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:CurrentFiscalYearEndDate","dataType":"xbrli:gMonthDayItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalPeriodFocus","dataType":"dei:fiscalPeriodItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalYearFocus","dataType":"xs:gYear","periodType":"duration","nillable":true},{"name":"dei:DocumentPeriodEndDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"dei:DocumentQuarterlyReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentTransitionReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentType","dataType":"dei:submissionTypeItemType","periodType":"duration","nillable":true},{"name":"dei:EntityAddressAddressLine1","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressCityOrTown","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressPostalZipCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressStateOrProvince","dataType":"dei:stateOrProvinceItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCentralIndexKey","dataType":"dei:centralIndexKeyItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"dei:EntityCurrentReportingStatus","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityEmergingGrowthCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityFileNumber","dataType":"dei:fileNumberItemType","periodType":"duration","nillable":true},{"name":"dei:EntityFilerCategory","dataType":"dei:filerCategoryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityIncorporationStateCountryCode","dataType":"dei:edgarStateCountryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityInteractiveDataCurrent","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityRegistrantName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityShellCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntitySmallBusiness","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityTaxIdentificationNumber","dataType":"dei:employerIdItemType","periodType":"duration","nillable":true},{"name":"dei:LocalPhoneNumber","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:Security12bTitle","dataType":"dei:securityTitleItemType","periodType":"duration","nillable":true},{"name":"dei:SecurityExchangeName","dataType":"dei:edgarExchangeCodeItemType","periodType":"duration","nillable":true},{"name":"dei:TradingSymbol","dataType":"dei:tradingSymbolItemType","periodType":"duration","nillable":true},{"name":"ecd:Additional402vDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AdjToCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:AdjToNonPeoNeoCompFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AdjToPeoCompFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AggtErrCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:AggtErrCompNotYetDeterminedTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardExrcPrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"ecd:AwardGrantDateFairValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMethodTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMnpiCnsdrdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMnpiDiscTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgPredtrmndFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:AwardUndrlygSecuritiesAmt","dataType":"xs:decimal","periodType":"instant","nillable":true},{"name":"ecd:AwardsCloseToMnpiDiscIndName","dataType":"xs:string","periodType":"instant","nillable":true},{"name":"ecd:AwardsCloseToMnpiDiscTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ChangedPeerGroupFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CoSelectedMeasureAmt","dataType":"xs:decimal","periodType":"duration","nillable":true},{"name":"ecd:CoSelectedMeasureName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsNetIncomeTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:EqtyAwrdsAdjFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ErrCompAnalysisTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:InsiderTrdPoliciesProcAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:MeasureName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:MnpiDiscTimedForCompValFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:MtrlTermsOfTrdArrTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NamedExecutiveOfficersFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NonGaapMeasureDescriptionTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:NonPeoNeoAvgTotalCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:NonRule10b51ArrAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:NonRule10b51ArrTrmntdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:OtherPerfMeasureAmt","dataType":"xs:decimal","periodType":"duration","nillable":true},{"name":"ecd:OutstandingAggtErrCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:OutstandingRecoveryCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:OutstandingRecoveryIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:PeerGroupIssuersFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:PeerGroupTotalShareholderRtnAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PeoActuallyPaidCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PeoName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:PeoTotalCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PnsnBnftsAdjFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:PvpTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:RestatementDeterminationDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"ecd:RestatementDoesNotRequireRecoveryTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:Rule10b51ArrAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:Rule10b51ArrTrmntdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:StkPrcOrTsrEstimationMethodTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TabularListTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TotalShareholderRtnAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TrdArrAdoptionDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrDuration","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"ecd:TrdArrExpirationDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrIndTitle","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrSecuritiesAggAvailAmt","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"ecd:TrdArrTerminationDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:UndrlygSecurityMktPriceChngPct","dataType":"xbrlr:pureType","periodType":"instant","nillable":true},{"name":"srt:StockRepurchaseProgramAuthorizedAmount1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsPayableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:AccountsReceivableGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableGrossCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableNetCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccruedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdditionalPaidInCapitalCommonStock","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AllocatedShareBasedCompensationExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:Assets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CashAndCashEquivalentsAtCarryingValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockParOrStatedValuePerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesIssued","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ContractWithCustomerLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CostOfGoodsAndServicesSold","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationDepletionAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisaggregationOfRevenueTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareBasic","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareDiluted","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerSharePolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:FinanceLeaseInterestExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseInterestPaymentOnLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FinanceLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeasePrincipalPayments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","dataType":"xbrlr:enumeration","periodType":"instant","nillable":true},{"name":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GainLossOnTerminationOfLease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GeneralAndAdministrativeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:Goodwill","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsPayable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsReceivable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:LeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:LeaseCostTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeFinanceLeasesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeLeasesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeasesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:Liabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesAndStockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:MinorityInterest","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"us-gaap:NetIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:NumberOfOperatingSegments","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"us-gaap:NumberOfReportableSegments","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"us-gaap:OperatingCostsAndExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:OtherAssetsNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OtherLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherLiabilitiesNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherNonoperatingIncomeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherReceivables","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ProceedsFromStockOptionsExercised","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProfitLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentDisposals","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentUsefulLife","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:ProvisionForDoubtfulAccounts","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ResearchAndDevelopmentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RetainedEarningsAccumulatedDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueFromContractWithCustomerTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:RoyaltyExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SegmentReportingPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SellingAndMarketingExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SignificantAccountingPoliciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesOther","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodValueOther","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:TreasuryStockCommonShares","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:TreasuryStockCommonValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:TreasuryStockSharesAcquired","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:TreasuryStockValueAcquiredCostMethod","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:TypeOfRevenueExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:UnbilledContractsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","dataType":"xbrla:sharesType","periodType":"duration","nillable":true}],"headings":[{"name":"csbr:CommitmentsAndContingenciesLineItems"},{"name":"csbr:CommitmentsAndContingenciesTable"},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract"},{"name":"dei:CoverAbstract"},{"name":"ecd:AdjLineItems"},{"name":"ecd:AwardTmgDiscLineItems"},{"name":"ecd:AwardTmgDiscTable"},{"name":"ecd:AwardsCloseToMnpiDiscLineItems"},{"name":"ecd:AwardsCloseToMnpiDiscTable"},{"name":"ecd:ErrCompRecoveryTable"},{"name":"ecd:ForgoneRecoveriesByIndTable"},{"name":"ecd:ForgoneRecoveriesLineItems"},{"name":"ecd:InsiderTradingArrLineItems"},{"name":"ecd:InsiderTradingPoliciesProcLineItems"},{"name":"ecd:InsiderTradingPoliciesProcTable"},{"name":"ecd:OutstandingRecoveriesByIndTable"},{"name":"ecd:OutstandingRecoveriesLineItems"},{"name":"ecd:PayVsPerformanceDisclosureLineItems"},{"name":"ecd:PayVsPerformanceDisclosureWithAdditionalMeasuresLineItems"},{"name":"ecd:PayVsPerformanceTableLineItems"},{"name":"ecd:PvpAdjTable"},{"name":"ecd:PvpMeasuresLineItems"},{"name":"ecd:PvpMeasuresTable"},{"name":"ecd:PvpTable"},{"name":"ecd:PvpTabularListTable"},{"name":"ecd:PvpTabularListsLineItems"},{"name":"ecd:PvpTabularListsTable"},{"name":"ecd:PvpWithAdditionalMeasuresTable"},{"name":"ecd:RecoveryOfErrCompDisclosureLineItems"},{"name":"ecd:TabularListMeasuresLineItems"},{"name":"ecd:TradingArrByIndTable"},{"name":"us-gaap:AccountingPoliciesAbstract"},{"name":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward"},{"name":"us-gaap:AssetsAbstract"},{"name":"us-gaap:AssetsCurrentAbstract"},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract"},{"name":"us-gaap:DisaggregationOfRevenueLineItems"},{"name":"us-gaap:DisaggregationOfRevenueTable"},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"},{"name":"us-gaap:EarningsPerShareAbstract"},{"name":"us-gaap:EarningsPerShareBasicAbstract"},{"name":"us-gaap:EarningsPerShareDilutedAbstract"},{"name":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"},{"name":"us-gaap:IncomeStatementAbstract"},{"name":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract"},{"name":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward"},{"name":"us-gaap:LeaseCostAbstract"},{"name":"us-gaap:LeasesAbstract"},{"name":"us-gaap:LesseeLeaseDescriptionLineItems"},{"name":"us-gaap:LesseeLeaseDescriptionTable"},{"name":"us-gaap:LiabilitiesAndStockholdersEquityAbstract"},{"name":"us-gaap:LiabilitiesCurrentAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract"},{"name":"us-gaap:OperatingExpensesAbstract"},{"name":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract"},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"},{"name":"us-gaap:OtherNoncashInvestingAndFinancingItemsAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentLineItems"},{"name":"us-gaap:ReceivablesAbstract"},{"name":"us-gaap:RelatedPartyTransactionLineItems"},{"name":"us-gaap:RelatedPartyTransactionsAbstract"},{"name":"us-gaap:RevenueFromContractWithCustomerAbstract"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"},{"name":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable"},{"name":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"},{"name":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"},{"name":"us-gaap:StatementLineItems"},{"name":"us-gaap:StatementOfCashFlowsAbstract"},{"name":"us-gaap:StatementOfFinancialPositionAbstract"},{"name":"us-gaap:StatementOfStockholdersEquityAbstract"},{"name":"us-gaap:StatementTable"},{"name":"us-gaap:StockholdersEquityAbstract"},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract"}],"dimensions":[{"name":"csbr:FinanceLeaseAxis","domainClass":"csbr:FinanceLeaseDomain"},{"name":"csbr:TriggeringEventAxis","domainClass":"csbr:TriggeringEventDomain"},{"name":"ecd:AdjToCompAxis","domainClass":"ecd:AllAdjToCompMember"},{"name":"ecd:ExecutiveCategoryAxis","domainClass":"ecd:AllExecutiveCategoriesMember"},{"name":"ecd:IndividualAxis","domainClass":"ecd:AllIndividualsMember"},{"name":"ecd:MeasureAxis"},{"name":"ecd:RestatementDateAxis"},{"name":"ecd:TradingArrAxis","domainClass":"ecd:AllTradingArrangementsMember"},{"name":"srt:CounterpartyNameAxis","domainClass":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:ProductOrServiceAxis","domainClass":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeAxis","domainClass":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainClass":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:TitleOfIndividualAxis","domainClass":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AwardTypeAxis","domainClass":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:GranteeStatusAxis","domainClass":"us-gaap:GranteeStatusDomain"},{"name":"us-gaap:IncomeStatementLocationAxis","domainClass":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameAxis","domainClass":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainClass":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RelatedPartyTransactionAxis","domainClass":"us-gaap:RelatedPartyTransactionDomain"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"name":"us-gaap:StatementEquityComponentsAxis","domainClass":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:VestingAxis","domainClass":"us-gaap:VestingDomain"}],"domainClasses":[{"name":"csbr:FinanceLeaseDomain"},{"name":"csbr:TriggeringEventDomain"},{"name":"ecd:AllAdjToCompMember"},{"name":"ecd:AllExecutiveCategoriesMember"},{"name":"ecd:AllIndividualsMember"},{"name":"ecd:AllTradingArrangementsMember"},{"name":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:GranteeStatusDomain"},{"name":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RelatedPartyTransactionDomain"},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:VestingDomain"}],"domainNetworks":[{"name":"rpt:domain-0","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MinimumMember"},{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-1","root":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","relationships":[{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember"}]},{"name":"rpt:domain-2","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:OperatingSubsidiariesMember"}]},{"name":"rpt:domain-3","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember"}]},{"name":"rpt:domain-4","root":"csbr:FinanceLeaseDomain","relationships":[{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2023FinanceLeaseMember"},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember"}]},{"name":"rpt:domain-5","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:LaboratoryEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:AssetInProgressMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember"}]},{"name":"rpt:domain-6","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember"}]},{"name":"rpt:domain-7","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember"}]},{"name":"rpt:domain-8","root":"us-gaap:RelatedPartyTransactionDomain","relationships":[{"source":"us-gaap:RelatedPartyTransactionDomain","target":"us-gaap:RelatedPartyMember"}]},{"name":"rpt:domain-9","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:ProductAndServiceOtherMember"}]},{"name":"rpt:domain-10","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember"}]},{"name":"rpt:domain-11","root":"us-gaap:IncomeStatementLocationDomain","relationships":[{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember"}]},{"name":"rpt:domain-12","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2021Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member"}]},{"name":"rpt:domain-13","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-14","root":"us-gaap:VestingDomain","relationships":[{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},{"source":"us-gaap:VestingDomain","target":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember"}]},{"name":"rpt:domain-15","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:TimeBasedAwardsMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:MarketBasedAwardsMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"}]},{"name":"rpt:domain-16","root":"csbr:TriggeringEventDomain","relationships":[{"source":"csbr:TriggeringEventDomain","target":"csbr:SubjectToForfeitureMember"}]},{"name":"rpt:domain-17","root":"us-gaap:IncomeStatementLocationDomain","relationships":[{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:CostOfSalesMember"}]},{"name":"rpt:domain-18","root":"us-gaap:GranteeStatusDomain","relationships":[{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"}]},{"name":"rpt:domain-19","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember"}]},{"name":"rpt:domain-20","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"}]},{"name":"rpt:domain-21","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember"}]},{"name":"rpt:domain-22","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockCommonMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:NoncontrollingInterestMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-23","root":"ecd:AllIndividualsMember","relationships":[{"source":"ecd:AllIndividualsMember","target":"ecd:NonNeosMember"}]},{"name":"rpt:domain-24","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:StockAppreciationRightsSARSMember"}]},{"name":"rpt:domain-25","root":"ecd:AllTradingArrangementsMember","relationships":[]},{"name":"rpt:domain-26","root":"ecd:AllExecutiveCategoriesMember","relationships":[{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:PeoMember"},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:NonPeoNeoMember"}]},{"name":"rpt:domain-27","root":"ecd:AllAdjToCompMember","relationships":[{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember"},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtPnsnAdjsSvcCstMember"},{"source":"ecd:AllAdjToCompMember","target":"ecd:EqtyAwrdsAdjsMember"},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsSvcCstMember"},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsPrrSvcCstMember"},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember"},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember"}]}],"members":[{"name":"csbr:A2021And2010EquityIncentivePlansMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:A2022FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:A2023FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:A2023GlobalEquityIncentivePlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:AssetInProgressMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:BoardMemberOneMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:CorporateHeadquartersMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:EquityIncentivePlan2010Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:EquityIncentivePlan2021Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:FewContractsMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:LaboratoryEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:MarketBasedAwardsMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"csbr:MilanItalyMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:OperatingSubsidiariesMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:PharmacologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:RockvilleMDMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"csbr:SubjectToForfeitureMember","domainClasses":["csbr:TriggeringEventDomain"]},{"name":"csbr:TimeBasedAwardsMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:AggtPnsnAdjsSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsAdjsMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:NonNeosMember","domainClasses":["ecd:AllIndividualsMember"]},{"name":"ecd:NonPeoNeoMember","domainClasses":["ecd:AllExecutiveCategoriesMember"]},{"name":"ecd:PeoMember","domainClasses":["ecd:AllExecutiveCategoriesMember"]},{"name":"ecd:PnsnAdjsPrrSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:PnsnAdjsSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"srt:BoardOfDirectorsChairmanMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"srt:MaximumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:MinimumMember","domainClasses":["srt:RangeMember"]},{"name":"us-gaap:AdditionalPaidInCapitalMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:CommonStockMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:ComputerEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CostOfSalesMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:EmployeeStockOptionMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:EquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:FurnitureAndFixturesMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:GeneralAndAdministrativeExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:LeaseholdImprovementsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:NoncontrollingInterestMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:PerformanceSharesMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:ProductAndServiceOtherMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"us-gaap:RelatedPartyMember","domainClasses":["us-gaap:RelatedPartyTransactionDomain"]},{"name":"us-gaap:ResearchAndDevelopmentExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:RetainedEarningsMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:SellingAndMarketingExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","domainClasses":["us-gaap:GranteeStatusDomain"]},{"name":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","domainClasses":["us-gaap:GranteeStatusDomain"]},{"name":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:StockAppreciationRightsSARSMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:TreasuryStockCommonMember","domainClasses":["us-gaap:EquityComponentDomain"]}],"cubes":[{"name":"rpt:cube-0","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-0","optional":true}]},{"name":"rpt:cube-1","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-2","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-2","optional":true}]},{"name":"rpt:cube-3","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-0","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-3","optional":true},{"dimension":"csbr:FinanceLeaseAxis","domainNetwork":"rpt:domain-4","optional":true}]},{"name":"rpt:cube-4","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-5","optional":true}]},{"name":"rpt:cube-5","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-6","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-7","optional":true},{"dimension":"us-gaap:RelatedPartyTransactionAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-6","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-9","optional":true}]},{"name":"rpt:cube-7","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-10","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-0","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"}]},{"name":"rpt:cube-8","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-10","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-0","optional":true}]},{"name":"rpt:cube-9","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeStatementLocationAxis","domainNetwork":"rpt:domain-11","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-12","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-13","optional":true},{"dimension":"us-gaap:VestingAxis","domainNetwork":"rpt:domain-14","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-15","optional":true},{"dimension":"csbr:TriggeringEventAxis","domainNetwork":"rpt:domain-16","optional":true}]},{"name":"rpt:cube-10","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeStatementLocationAxis","domainNetwork":"rpt:domain-17","optional":true}]},{"name":"rpt:cube-11","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:GranteeStatusAxis","domainNetwork":"rpt:domain-18","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-19","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-20","optional":true}]},{"name":"rpt:cube-12","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-21","optional":true}]},{"name":"rpt:cube-13","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-22","optional":true}]},{"name":"rpt:cube-14","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-15","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-24","optional":true}]},{"name":"rpt:cube-16","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:RestatementDateAxis"}]},{"name":"rpt:cube-17","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:RestatementDateAxis"},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true}]},{"name":"rpt:cube-18","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:TradingArrAxis","domainNetwork":"rpt:domain-25","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true}]},{"name":"rpt:cube-19","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-20","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:RestatementDateAxis"},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true}]},{"name":"rpt:cube-21","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-26","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"ecd:AdjToCompAxis","domainNetwork":"rpt:domain-27","optional":true}]},{"name":"rpt:cube-22","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-23","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-26","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"ecd:MeasureAxis"}]},{"name":"rpt:cube-24","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:MeasureAxis"}]},{"name":"rpt:cube-25","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true}]},{"name":"rpt:cube-26","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-26","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"ecd:MeasureAxis"}]},{"name":"rpt:cube-27","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-26","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-23","optional":true}]},{"name":"rpt:cube-undimensioned","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]}],"labels":[{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:terseLabel","value":"2021 And 2010 Equity Incentive Plans","language":"en-US"},{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:label","value":"2021 And 2010 Equity Incentive Plans [Member]","language":"en-US"},{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:documentation","value":"2021 And 2010 Equity Incentive Plans","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:label","value":"2022 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:documentation","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2023 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:label","value":"2023 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:documentation","value":"2023 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:terseLabel","value":"2023 Global Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:label","value":"2023 Global Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:documentation","value":"2023 Global Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:terseLabel","value":"Plus: Provision for credit losses and doubtful accounts","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:negatedLabel","value":"Less: Reversal for amounts subsequently collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Reversal for Amounts Subsequently Collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Reversal for Amounts Subsequently Collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:negatedTerseLabel","value":"Less: Reversal of provision for credit losses and doubtful accounts, net","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Reversal of Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Reversal of Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:terseLabel","value":"Assets in progress","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:label","value":"Asset In Progress [Member]","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:documentation","value":"Asset In Progress","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Assets And Liabilities","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:label","value":"Assets And Liabilities, Lessee [Table Text Block]","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:documentation","value":"Assets And Liabilities, Lessee [Text Block]","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:terseLabel","value":"Board Member One","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:label","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:documentation","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:terseLabel","value":"Royalty fee per tumor sample","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:label","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:documentation","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:terseLabel","value":"Royalty payment, as percent of contract price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:label","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:documentation","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:label","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:documentation","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:label","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:documentation","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:terseLabel","value":"Corporate Headquarters","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:label","value":"Corporate Headquarters [Member]","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:terseLabel","value":"Depreciation and amortization, excluding finance leases","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:label","value":"Depreciation And Amortization, Excluding Finance Leases","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:documentation","value":"Depreciation And Amortization, Excluding Finance Leases","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2010","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2010 [Member]","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:documentation","value":"Equity Incentive Plan 2010","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2021","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2021 [Member]","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:documentation","value":"Equity Incentive Plan 2021","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:terseLabel","value":"Few Contracts","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:label","value":"Few Contracts [Member]","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:documentation","value":"Few contracts.","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:terseLabel","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:label","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:documentation","value":"Finance Lease","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:terseLabel","value":"Finance lease costs","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:label","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:documentation","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","labelType":"xbrl:terseLabel","value":"Finance lease, depreciation and amortization","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","labelType":"xbrl:label","value":"Finance Lease, Depreciation And Amortization Expenses","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","labelType":"xbrl:documentation","value":"Finance Lease, Depreciation And Amortization Expenses","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:terseLabel","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:label","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:documentation","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:negatedTerseLabel","value":"Current lease liability, decrease for lease termination","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability, Current","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:documentation","value":"Increase (Decrease) in Operating Lease Liability, Current","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:negatedTerseLabel","value":"Non-current lease liability, decrease for lease termination","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability, Noncurrent","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:documentation","value":"Increase (Decrease) in Operating Lease Liability, Noncurrent","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:terseLabel","value":"Operating lease right-of use assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:label","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:documentation","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:terseLabel","value":"Laboratory equipment","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:label","value":"Laboratory Equipment [Member]","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:documentation","value":"Laboratory Equipment","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, To Be Paid, After Year Three","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:documentation","value":"Lessee, Operating Lease, Liability, To Be Paid, After Year Three","language":"en-US"},{"forObject":"csbr:MarketBasedAwardsMember","labelType":"xbrl:terseLabel","value":"Market based awards","language":"en-US"},{"forObject":"csbr:MarketBasedAwardsMember","labelType":"xbrl:label","value":"Market Based Awards [Member]","language":"en-US"},{"forObject":"csbr:MarketBasedAwardsMember","labelType":"xbrl:documentation","value":"Market Based Awards","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:terseLabel","value":"Milan Italy","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:label","value":"Milan Italy [Member]","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:documentation","value":"Milan Italy","language":"en-US"},{"forObject":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","labelType":"xbrl:terseLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","labelType":"xbrl:label","value":"Net Income (Loss), Net Of Non-Controlling Interest Share Based Compensation Expense","language":"en-US"},{"forObject":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","labelType":"xbrl:documentation","value":"Net Income (Loss), Net Of Non-Controlling Interest Share Based Compensation Expense","language":"en-US"},{"forObject":"csbr:NumberOfOperatingSubsidiaries","labelType":"xbrl:terseLabel","value":"Number of operating subsidiaries","language":"en-US"},{"forObject":"csbr:NumberOfOperatingSubsidiaries","labelType":"xbrl:label","value":"Number Of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:NumberOfOperatingSubsidiaries","labelType":"xbrl:documentation","value":"Number Of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:negatedTerseLabel","value":"Right-of-use asset, decrease for lease termination","language":"en-US"},{"forObject":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:label","value":"Operating Lease, Right Of Use Asset, Increase (Decrease)","language":"en-US"},{"forObject":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:documentation","value":"Operating Lease, Right Of Use Asset, Increase (Decrease)","language":"en-US"},{"forObject":"csbr:OperatingSubsidiariesMember","labelType":"xbrl:terseLabel","value":"Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OperatingSubsidiariesMember","labelType":"xbrl:label","value":"Operating Subsidiaries [Member]","language":"en-US"},{"forObject":"csbr:OperatingSubsidiariesMember","labelType":"xbrl:documentation","value":"Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:terseLabel","value":"Pharmacology services","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:label","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:documentation","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:terseLabel","value":"Present value of minimum future obligations interest rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:label","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:documentation","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:terseLabel","value":"Rockville, MD","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:label","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:documentation","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract","labelType":"xbrl:terseLabel","value":"Aggregate Intrinsic Value","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract","labelType":"xbrl:label","value":"Share Based Compensation Arrangement by Share Based Payment Award, Aggregate Intrinsic Value [Abstract]","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract","labelType":"xbrl:documentation","value":"Share Based Compensation Arrangement by Share Based Payment Award, Aggregate Intrinsic Value","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:negatedTerseLabel","value":"Canceled (in shares)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Canceled In Period","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:documentation","value":"The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:terseLabel","value":"Outstanding, granted (in years)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Granted Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:documentation","value":"Weighted average remaining contractual term for option awards granted, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Canceled (in dollars per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Options Canceled In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, After Tranche One","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, After Tranche One [Member]","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:documentation","value":"Share-Based Payment Arrangement, After Tranche One","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:terseLabel","value":"Strike price as a percent of fair market value","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option, Exercise Price, Percentage Of Fair Value Of Common Stock, Minimum","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:documentation","value":"Share-Based Payment Arrangement, Option, Exercise Price, Percentage Of Fair Value Of Common Stock, Minimum","language":"en-US"},{"forObject":"csbr:SubjectToForfeitureMember","labelType":"xbrl:terseLabel","value":"Subject to Forfeiture","language":"en-US"},{"forObject":"csbr:SubjectToForfeitureMember","labelType":"xbrl:label","value":"Subject to Forfeiture [Member]","language":"en-US"},{"forObject":"csbr:SubjectToForfeitureMember","labelType":"xbrl:documentation","value":"Subject to Forfeiture","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:terseLabel","value":"Time-based awards","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:label","value":"Time-Based Awards [Member]","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:documentation","value":"Time-Based Awards","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:terseLabel","value":"TOS data license revenue","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:label","value":"Translational Oncology Solutions (TOS) License Revenue [Member]","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:documentation","value":"Translational Oncology Solutions (TOS) License Revenue","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:terseLabel","value":"Triggering Event [Axis]","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:label","value":"Triggering Event [Axis]","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:documentation","value":"Triggering Event","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:terseLabel","value":"Triggering Event [Domain]","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:label","value":"Triggering Event [Domain]","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:documentation","value":"Triggering Event","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:negatedTerseLabel","value":"Working capital deficit","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:label","value":"Working Capital Deficit","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:documentation","value":"Working Capital Deficit","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:terseLabel","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:label","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:terseLabel","value":"City Area Code","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:label","value":"City Area Code","language":"en-US"},{"forObject":"dei:CoverAbstract","labelType":"xbrl:label","value":"Cover [Abstract]","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:terseLabel","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:label","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:label","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:label","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:terseLabel","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:label","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentQuarterlyReport","labelType":"xbrl:terseLabel","value":"Document Quarterly Report","language":"en-US"},{"forObject":"dei:DocumentQuarterlyReport","labelType":"xbrl:label","value":"Document Quarterly Report","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:terseLabel","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:label","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:terseLabel","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:label","value":"Document Type","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:terseLabel","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:label","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:terseLabel","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:label","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:terseLabel","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:label","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:terseLabel","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:label","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:terseLabel","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:label","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:label","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:terseLabel","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:label","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:terseLabel","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:label","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:terseLabel","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:label","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:terseLabel","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:label","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:terseLabel","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:label","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:terseLabel","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:label","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:terseLabel","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:label","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:terseLabel","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:label","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:terseLabel","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:label","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:terseLabel","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:label","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:terseLabel","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:label","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:terseLabel","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:label","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:terseLabel","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:label","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:terseLabel","value":"Trading Symbol","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:label","value":"Trading Symbol","language":"en-US"},{"forObject":"ecd:Additional402vDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Additional 402(v) Disclosure","language":"en-US"},{"forObject":"ecd:Additional402vDisclosureTextBlock","labelType":"xbrl:label","value":"Additional 402(v) Disclosure [Text Block]","language":"en-US"},{"forObject":"ecd:AdjToCompAmt","labelType":"xbrl:terseLabel","value":"Adjustment to Compensation, Amount","language":"en-US"},{"forObject":"ecd:AdjToCompAmt","labelType":"xbrl:label","value":"Adjustment to Compensation Amount","language":"en-US"},{"forObject":"ecd:AdjToCompAxis","labelType":"xbrl:terseLabel","value":"Adjustment to Compensation:","language":"en-US"},{"forObject":"ecd:AdjToCompAxis","labelType":"xbrl:label","value":"Adjustment to Compensation [Axis]","language":"en-US"},{"forObject":"ecd:AdjToNonPeoNeoCompFnTextBlock","labelType":"xbrl:terseLabel","value":"Adjustment to Non-PEO NEO Compensation Footnote","language":"en-US"},{"forObject":"ecd:AdjToNonPeoNeoCompFnTextBlock","labelType":"xbrl:label","value":"Adjustment to Non-PEO NEO Compensation Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:AdjToPeoCompFnTextBlock","labelType":"xbrl:terseLabel","value":"Adjustment To PEO Compensation, Footnote","language":"en-US"},{"forObject":"ecd:AdjToPeoCompFnTextBlock","labelType":"xbrl:label","value":"Adjustment To PEO Compensation, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","labelType":"xbrl:terseLabel","value":"Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table","language":"en-US"},{"forObject":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","labelType":"xbrl:label","value":"Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:AggtErrCompAmt","labelType":"xbrl:terseLabel","value":"Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:AggtErrCompAmt","labelType":"xbrl:label","value":"Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:AggtErrCompNotYetDeterminedTextBlock","labelType":"xbrl:terseLabel","value":"Aggregate Erroneous Compensation Not Yet Determined","language":"en-US"},{"forObject":"ecd:AggtErrCompNotYetDeterminedTextBlock","labelType":"xbrl:label","value":"Aggregate Erroneous Compensation Not Yet Determined [Text Block]","language":"en-US"},{"forObject":"ecd:AggtPnsnAdjsSvcCstMember","labelType":"xbrl:terseLabel","value":"Aggregate Pension Adjustments Service Cost","language":"en-US"},{"forObject":"ecd:AggtPnsnAdjsSvcCstMember","labelType":"xbrl:label","value":"Aggregate Pension Adjustments Service Cost [Member]","language":"en-US"},{"forObject":"ecd:AllAdjToCompMember","labelType":"xbrl:terseLabel","value":"All Adjustments to Compensation","language":"en-US"},{"forObject":"ecd:AllAdjToCompMember","labelType":"xbrl:label","value":"All Adjustments to Compensation [Member]","language":"en-US"},{"forObject":"ecd:AllExecutiveCategoriesMember","labelType":"xbrl:terseLabel","value":"All Executive Categories","language":"en-US"},{"forObject":"ecd:AllExecutiveCategoriesMember","labelType":"xbrl:label","value":"All Executive Categories [Member]","language":"en-US"},{"forObject":"ecd:AllIndividualsMember","labelType":"xbrl:terseLabel","value":"All Individuals","language":"en-US"},{"forObject":"ecd:AllIndividualsMember","labelType":"xbrl:label","value":"All Individuals [Member]","language":"en-US"},{"forObject":"ecd:AllTradingArrangementsMember","labelType":"xbrl:terseLabel","value":"All Trading Arrangements","language":"en-US"},{"forObject":"ecd:AllTradingArrangementsMember","labelType":"xbrl:label","value":"All Trading Arrangements [Member]","language":"en-US"},{"forObject":"ecd:AwardExrcPrice","labelType":"xbrl:terseLabel","value":"Exercise Price","language":"en-US"},{"forObject":"ecd:AwardExrcPrice","labelType":"xbrl:label","value":"Award Exercise Price","language":"en-US"},{"forObject":"ecd:AwardGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Fair Value as of Grant Date","language":"en-US"},{"forObject":"ecd:AwardGrantDateFairValue","labelType":"xbrl:label","value":"Award Grant Date Fair Value","language":"en-US"},{"forObject":"ecd:AwardTmgDiscLineItems","labelType":"xbrl:label","value":"Award Timing Disclosures [Line Items]","language":"en-US"},{"forObject":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing, How MNPI Considered","language":"en-US"},{"forObject":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","labelType":"xbrl:label","value":"Award Timing, How MNPI Considered [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgMethodTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing Method","language":"en-US"},{"forObject":"ecd:AwardTmgMethodTextBlock","labelType":"xbrl:label","value":"Award Timing Method [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiCnsdrdFlag","labelType":"xbrl:terseLabel","value":"Award Timing MNPI Considered","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiCnsdrdFlag","labelType":"xbrl:label","value":"Award Timing MNPI Considered [Flag]","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiDiscTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing MNPI Disclosure","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiDiscTextBlock","labelType":"xbrl:label","value":"Award Timing MNPI Disclosure [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgPredtrmndFlag","labelType":"xbrl:terseLabel","value":"Award Timing Predetermined","language":"en-US"},{"forObject":"ecd:AwardTmgPredtrmndFlag","labelType":"xbrl:label","value":"Award Timing Predetermined [Flag]","language":"en-US"},{"forObject":"ecd:AwardUndrlygSecuritiesAmt","labelType":"xbrl:terseLabel","value":"Underlying Securities","language":"en-US"},{"forObject":"ecd:AwardUndrlygSecuritiesAmt","labelType":"xbrl:label","value":"Award Underlying Securities Amount","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscIndName","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures, Individual Name","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTable","labelType":"xbrl:terseLabel","value":"Awards Close in Time to MNPI Disclosures","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTable","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures [Table]","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTableTextBlock","labelType":"xbrl:terseLabel","value":"Awards Close in Time to MNPI Disclosures, Table","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTableTextBlock","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures [Table Text Block]","language":"en-US"},{"forObject":"ecd:ChangedPeerGroupFnTextBlock","labelType":"xbrl:terseLabel","value":"Changed Peer Group, Footnote","language":"en-US"},{"forObject":"ecd:ChangedPeerGroupFnTextBlock","labelType":"xbrl:label","value":"Changed Peer Group, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","labelType":"xbrl:terseLabel","value":"Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year","language":"en-US"},{"forObject":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","labelType":"xbrl:label","value":"Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]","language":"en-US"},{"forObject":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","labelType":"xbrl:terseLabel","value":"Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested","language":"en-US"},{"forObject":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","labelType":"xbrl:label","value":"Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureAmt","labelType":"xbrl:terseLabel","value":"Company Selected Measure Amount","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureAmt","labelType":"xbrl:label","value":"Company Selected Measure Amount","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureName","labelType":"xbrl:terseLabel","value":"Company Selected Measure Name","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureName","labelType":"xbrl:label","value":"Company Selected Measure Name","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Company Selected Measure","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Company Selected Measure [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsNetIncomeTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Net Income","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsNetIncomeTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Net Income [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Other Measure","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Other Measure [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Total Shareholder Return","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Total Shareholder Return [Text Block]","language":"en-US"},{"forObject":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","labelType":"xbrl:terseLabel","value":"Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year","language":"en-US"},{"forObject":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","labelType":"xbrl:label","value":"Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjFnTextBlock","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments, Footnote","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjFnTextBlock","labelType":"xbrl:label","value":"Equity Awards Adjustments, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments, Excluding Value Reported in Compensation Table","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","labelType":"xbrl:label","value":"Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsMember","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsMember","labelType":"xbrl:label","value":"Equity Awards Adjustments [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","labelType":"xbrl:terseLabel","value":"Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table","language":"en-US"},{"forObject":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","labelType":"xbrl:label","value":"Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","labelType":"xbrl:terseLabel","value":"Equity Valuation Assumption Difference, Footnote","language":"en-US"},{"forObject":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","labelType":"xbrl:label","value":"Equity Valuation Assumption Difference, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:ErrCompAnalysisTextBlock","labelType":"xbrl:terseLabel","value":"Erroneous Compensation Analysis","language":"en-US"},{"forObject":"ecd:ErrCompAnalysisTextBlock","labelType":"xbrl:label","value":"Erroneous Compensation Analysis [Text Block]","language":"en-US"},{"forObject":"ecd:ErrCompRecoveryTable","labelType":"xbrl:terseLabel","value":"Erroneously Awarded Compensation Recovery","language":"en-US"},{"forObject":"ecd:ErrCompRecoveryTable","labelType":"xbrl:label","value":"Erroneously Awarded Compensation Recovery [Table]","language":"en-US"},{"forObject":"ecd:ExecutiveCategoryAxis","labelType":"xbrl:terseLabel","value":"Executive Category:","language":"en-US"},{"forObject":"ecd:ExecutiveCategoryAxis","labelType":"xbrl:label","value":"Executive Category [Axis]","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Disqualification of Tax Benefits, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Disqualification of Tax Benefits, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Expense of Enforcement, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Expense of Enforcement, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Violation of Home Country Law, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Violation of Home Country Law, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","labelType":"xbrl:terseLabel","value":"Forgone Recovery, Explanation of Impracticability","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","labelType":"xbrl:label","value":"Forgone Recovery, Explanation of Impracticability [Text Block]","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryIndName","labelType":"xbrl:label","value":"Forgone Recovery, Individual Name","language":"en-US"},{"forObject":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","labelType":"xbrl:terseLabel","value":"Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year","language":"en-US"},{"forObject":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","labelType":"xbrl:label","value":"Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]","language":"en-US"},{"forObject":"ecd:IndividualAxis","labelType":"xbrl:terseLabel","value":"Individual:","language":"en-US"},{"forObject":"ecd:IndividualAxis","labelType":"xbrl:label","value":"Individual [Axis]","language":"en-US"},{"forObject":"ecd:InsiderTradingArrLineItems","labelType":"xbrl:label","value":"Insider Trading Arrangements [Line Items]","language":"en-US"},{"forObject":"ecd:InsiderTradingPoliciesProcLineItems","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures [Line Items]","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcAdoptedFlag","labelType":"xbrl:terseLabel","value":"Insider Trading Policies and Procedures Adopted","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcAdoptedFlag","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures Adopted [Flag]","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","labelType":"xbrl:terseLabel","value":"Insider Trading Policies and Procedures Not Adopted","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures Not Adopted [Text Block]","language":"en-US"},{"forObject":"ecd:MeasureAxis","labelType":"xbrl:terseLabel","value":"Measure:","language":"en-US"},{"forObject":"ecd:MeasureAxis","labelType":"xbrl:label","value":"Measure [Axis]","language":"en-US"},{"forObject":"ecd:MeasureName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:MeasureName","labelType":"xbrl:label","value":"Measure Name","language":"en-US"},{"forObject":"ecd:MnpiDiscTimedForCompValFlag","labelType":"xbrl:terseLabel","value":"MNPI Disclosure Timed for Compensation Value","language":"en-US"},{"forObject":"ecd:MnpiDiscTimedForCompValFlag","labelType":"xbrl:label","value":"MNPI Disclosure Timed for Compensation Value [Flag]","language":"en-US"},{"forObject":"ecd:MtrlTermsOfTrdArrTextBlock","labelType":"xbrl:terseLabel","value":"Material Terms of Trading Arrangement","language":"en-US"},{"forObject":"ecd:MtrlTermsOfTrdArrTextBlock","labelType":"xbrl:label","value":"Material Terms of Trading Arrangement [Text Block]","language":"en-US"},{"forObject":"ecd:NamedExecutiveOfficersFnTextBlock","labelType":"xbrl:terseLabel","value":"Named Executive Officers, Footnote","language":"en-US"},{"forObject":"ecd:NamedExecutiveOfficersFnTextBlock","labelType":"xbrl:label","value":"Named Executive Officers, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:NonGaapMeasureDescriptionTextBlock","labelType":"xbrl:terseLabel","value":"Non-GAAP Measure Description","language":"en-US"},{"forObject":"ecd:NonGaapMeasureDescriptionTextBlock","labelType":"xbrl:label","value":"Non-GAAP Measure Description [Text Block]","language":"en-US"},{"forObject":"ecd:NonNeosMember","labelType":"xbrl:terseLabel","value":"Non-NEOs","language":"en-US"},{"forObject":"ecd:NonNeosMember","labelType":"xbrl:label","value":"Non-NEOs [Member]","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","labelType":"xbrl:terseLabel","value":"Non-PEO NEO Average Compensation Actually Paid Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","labelType":"xbrl:label","value":"Non-PEO NEO Average Compensation Actually Paid Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgTotalCompAmt","labelType":"xbrl:terseLabel","value":"Non-PEO NEO Average Total Compensation Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgTotalCompAmt","labelType":"xbrl:label","value":"Non-PEO NEO Average Total Compensation Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoMember","labelType":"xbrl:terseLabel","value":"Non-PEO NEO","language":"en-US"},{"forObject":"ecd:NonPeoNeoMember","labelType":"xbrl:label","value":"Non-PEO NEO [Member]","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrAdoptedFlag","labelType":"xbrl:terseLabel","value":"Non-Rule 10b5-1 Arrangement Adopted","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrAdoptedFlag","labelType":"xbrl:label","value":"Non-Rule 10b5-1 Arrangement Adopted [Flag]","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrTrmntdFlag","labelType":"xbrl:terseLabel","value":"Non-Rule 10b5-1 Arrangement Terminated","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrTrmntdFlag","labelType":"xbrl:label","value":"Non-Rule 10b5-1 Arrangement Terminated [Flag]","language":"en-US"},{"forObject":"ecd:OtherPerfMeasureAmt","labelType":"xbrl:terseLabel","value":"Other Performance Measure, Amount","language":"en-US"},{"forObject":"ecd:OtherPerfMeasureAmt","labelType":"xbrl:label","value":"Other Performance Measure, Amount","language":"en-US"},{"forObject":"ecd:OutstandingAggtErrCompAmt","labelType":"xbrl:terseLabel","value":"Outstanding Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingAggtErrCompAmt","labelType":"xbrl:label","value":"Outstanding Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryCompAmt","labelType":"xbrl:terseLabel","value":"Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryCompAmt","labelType":"xbrl:label","value":"Outstanding Recovery Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryIndName","labelType":"xbrl:label","value":"Outstanding Recovery, Individual Name","language":"en-US"},{"forObject":"ecd:PayVsPerformanceDisclosureLineItems","labelType":"xbrl:label","value":"Pay vs Performance Disclosure [Line Items]","language":"en-US"},{"forObject":"ecd:PeerGroupIssuersFnTextBlock","labelType":"xbrl:terseLabel","value":"Peer Group Issuers, Footnote","language":"en-US"},{"forObject":"ecd:PeerGroupIssuersFnTextBlock","labelType":"xbrl:label","value":"Peer Group Issuers, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:PeerGroupTotalShareholderRtnAmt","labelType":"xbrl:terseLabel","value":"Peer Group Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:PeerGroupTotalShareholderRtnAmt","labelType":"xbrl:label","value":"Peer Group Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:PeoActuallyPaidCompAmt","labelType":"xbrl:terseLabel","value":"PEO Actually Paid Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoActuallyPaidCompAmt","labelType":"xbrl:label","value":"PEO Actually Paid Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoMember","labelType":"xbrl:terseLabel","value":"PEO","language":"en-US"},{"forObject":"ecd:PeoMember","labelType":"xbrl:label","value":"PEO [Member]","language":"en-US"},{"forObject":"ecd:PeoName","labelType":"xbrl:terseLabel","value":"PEO Name","language":"en-US"},{"forObject":"ecd:PeoName","labelType":"xbrl:label","value":"PEO Name","language":"en-US"},{"forObject":"ecd:PeoTotalCompAmt","labelType":"xbrl:terseLabel","value":"PEO Total Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoTotalCompAmt","labelType":"xbrl:label","value":"PEO Total Compensation Amount","language":"en-US"},{"forObject":"ecd:PnsnAdjsPrrSvcCstMember","labelType":"xbrl:terseLabel","value":"Pension Adjustments Prior Service Cost","language":"en-US"},{"forObject":"ecd:PnsnAdjsPrrSvcCstMember","labelType":"xbrl:label","value":"Pension Adjustments Prior Service Cost [Member]","language":"en-US"},{"forObject":"ecd:PnsnAdjsSvcCstMember","labelType":"xbrl:terseLabel","value":"Pension Adjustments Service Cost","language":"en-US"},{"forObject":"ecd:PnsnAdjsSvcCstMember","labelType":"xbrl:label","value":"Pension Adjustments Service Cost [Member]","language":"en-US"},{"forObject":"ecd:PnsnBnftsAdjFnTextBlock","labelType":"xbrl:terseLabel","value":"Pension Benefits Adjustments, Footnote","language":"en-US"},{"forObject":"ecd:PnsnBnftsAdjFnTextBlock","labelType":"xbrl:label","value":"Pension Benefits Adjustments, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:PvpTable","labelType":"xbrl:terseLabel","value":"Pay vs Performance Disclosure","language":"en-US"},{"forObject":"ecd:PvpTable","labelType":"xbrl:label","value":"Pay vs Performance Disclosure [Table]","language":"en-US"},{"forObject":"ecd:PvpTableTextBlock","labelType":"xbrl:terseLabel","value":"Pay vs Performance Disclosure, Table","language":"en-US"},{"forObject":"ecd:PvpTableTextBlock","labelType":"xbrl:label","value":"Pay vs Performance [Table Text Block]","language":"en-US"},{"forObject":"ecd:RecoveryOfErrCompDisclosureLineItems","labelType":"xbrl:label","value":"Recovery of Erroneously Awarded Compensation Disclosure [Line Items]","language":"en-US"},{"forObject":"ecd:RestatementDateAxis","labelType":"xbrl:terseLabel","value":"Restatement Determination Date:","language":"en-US"},{"forObject":"ecd:RestatementDateAxis","labelType":"xbrl:label","value":"Restatement Determination Date [Axis]","language":"en-US"},{"forObject":"ecd:RestatementDeterminationDate","labelType":"xbrl:terseLabel","value":"Restatement Determination Date","language":"en-US"},{"forObject":"ecd:RestatementDeterminationDate","labelType":"xbrl:label","value":"Restatement Determination Date","language":"en-US"},{"forObject":"ecd:RestatementDoesNotRequireRecoveryTextBlock","labelType":"xbrl:terseLabel","value":"Restatement does not require Recovery","language":"en-US"},{"forObject":"ecd:RestatementDoesNotRequireRecoveryTextBlock","labelType":"xbrl:label","value":"Restatement Does Not Require Recovery [Text Block]","language":"en-US"},{"forObject":"ecd:Rule10b51ArrAdoptedFlag","labelType":"xbrl:terseLabel","value":"Rule 10b5-1 Arrangement Adopted","language":"en-US"},{"forObject":"ecd:Rule10b51ArrAdoptedFlag","labelType":"xbrl:label","value":"Rule 10b5-1 Arrangement Adopted [Flag]","language":"en-US"},{"forObject":"ecd:Rule10b51ArrTrmntdFlag","labelType":"xbrl:terseLabel","value":"Rule 10b5-1 Arrangement Terminated","language":"en-US"},{"forObject":"ecd:Rule10b51ArrTrmntdFlag","labelType":"xbrl:label","value":"Rule 10b5-1 Arrangement Terminated [Flag]","language":"en-US"},{"forObject":"ecd:StkPrcOrTsrEstimationMethodTextBlock","labelType":"xbrl:terseLabel","value":"Stock Price or TSR Estimation Method","language":"en-US"},{"forObject":"ecd:StkPrcOrTsrEstimationMethodTextBlock","labelType":"xbrl:label","value":"Stock Price or TSR Estimation Method [Text Block]","language":"en-US"},{"forObject":"ecd:TabularListTableTextBlock","labelType":"xbrl:terseLabel","value":"Tabular List, Table","language":"en-US"},{"forObject":"ecd:TabularListTableTextBlock","labelType":"xbrl:label","value":"Tabular List [Table Text Block]","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnAmt","labelType":"xbrl:terseLabel","value":"Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnAmt","labelType":"xbrl:label","value":"Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","labelType":"xbrl:terseLabel","value":"Total Shareholder Return Vs Peer Group","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","labelType":"xbrl:label","value":"Total Shareholder Return Vs Peer Group [Text Block]","language":"en-US"},{"forObject":"ecd:TradingArrAxis","labelType":"xbrl:terseLabel","value":"Trading Arrangement:","language":"en-US"},{"forObject":"ecd:TradingArrAxis","labelType":"xbrl:label","value":"Trading Arrangement [Axis]","language":"en-US"},{"forObject":"ecd:TradingArrByIndTable","labelType":"xbrl:terseLabel","value":"Trading Arrangements, by Individual","language":"en-US"},{"forObject":"ecd:TradingArrByIndTable","labelType":"xbrl:label","value":"Trading Arrangements, by Individual [Table]","language":"en-US"},{"forObject":"ecd:TrdArrAdoptionDate","labelType":"xbrl:terseLabel","value":"Adoption Date","language":"en-US"},{"forObject":"ecd:TrdArrAdoptionDate","labelType":"xbrl:label","value":"Trading Arrangement Adoption Date","language":"en-US"},{"forObject":"ecd:TrdArrDuration","labelType":"xbrl:terseLabel","value":"Arrangement Duration","language":"en-US"},{"forObject":"ecd:TrdArrDuration","labelType":"xbrl:label","value":"Trading Arrangement Duration","language":"en-US"},{"forObject":"ecd:TrdArrExpirationDate","labelType":"xbrl:terseLabel","value":"Expiration Date","language":"en-US"},{"forObject":"ecd:TrdArrExpirationDate","labelType":"xbrl:label","value":"Trading Arrangement Expiration Date","language":"en-US"},{"forObject":"ecd:TrdArrIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:TrdArrIndName","labelType":"xbrl:label","value":"Trading Arrangement, Individual Name","language":"en-US"},{"forObject":"ecd:TrdArrIndTitle","labelType":"xbrl:terseLabel","value":"Title","language":"en-US"},{"forObject":"ecd:TrdArrIndTitle","labelType":"xbrl:label","value":"Trading Arrangement, Individual Title","language":"en-US"},{"forObject":"ecd:TrdArrSecuritiesAggAvailAmt","labelType":"xbrl:terseLabel","value":"Aggregate Available","language":"en-US"},{"forObject":"ecd:TrdArrSecuritiesAggAvailAmt","labelType":"xbrl:label","value":"Trading Arrangement, Securities Aggregate Available Amount","language":"en-US"},{"forObject":"ecd:TrdArrTerminationDate","labelType":"xbrl:terseLabel","value":"Termination Date","language":"en-US"},{"forObject":"ecd:TrdArrTerminationDate","labelType":"xbrl:label","value":"Trading Arrangement Termination Date","language":"en-US"},{"forObject":"ecd:UndrlygSecurityMktPriceChngPct","labelType":"xbrl:terseLabel","value":"Underlying Security Market Price Change","language":"en-US"},{"forObject":"ecd:UndrlygSecurityMktPriceChngPct","labelType":"xbrl:label","value":"Underlying Security Market Price Change, Percent","language":"en-US"},{"forObject":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","labelType":"xbrl:terseLabel","value":"Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year","language":"en-US"},{"forObject":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","labelType":"xbrl:label","value":"Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]","language":"en-US"},{"forObject":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","labelType":"xbrl:terseLabel","value":"Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested","language":"en-US"},{"forObject":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","labelType":"xbrl:label","value":"Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:terseLabel","value":"Board Member","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:label","value":"Board of Directors Chairman [Member]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:terseLabel","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:label","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:terseLabel","value":"Maximum","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:label","value":"Maximum [Member]","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:terseLabel","value":"Minimum","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:label","value":"Minimum [Member]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:terseLabel","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:label","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:terseLabel","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:label","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:label","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:label","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:terseLabel","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:label","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:terseLabel","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:label","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:terseLabel","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:label","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:StockRepurchaseProgramAuthorizedAmount1","labelType":"xbrl:terseLabel","value":"Share repurchase program, authorized amount","language":"en-US"},{"forObject":"srt:StockRepurchaseProgramAuthorizedAmount1","labelType":"xbrl:label","value":"Share Repurchase Program, Authorized, Amount","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:terseLabel","value":"Title and Position [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:label","value":"Title and Position [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:terseLabel","value":"Title and Position [Domain]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:label","value":"Title and Position [Domain]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:terseLabel","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:label","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:label","value":"Accounts Payable, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Accounts Receivable, Allowance For Credit Loss","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:terseLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:totalLabel","value":"Total accounts receivable and unbilled services","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:verboseLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:totalLabel","value":"Total accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:label","value":"Accounts Receivable, after Allowance for Credit Loss, Current","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:label","value":"Accrued Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:terseLabel","value":"Accumulated depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:negatedTerseLabel","value":"Less: Accumulated depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:verboseLabel","value":"Additional paid-in capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:label","value":"Additional Paid in Capital, Common Stock","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:terseLabel","value":"Additional Paid-in Capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:label","value":"Additional Paid-in Capital [Member]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:terseLabel","value":"Stock-based compensation","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:label","value":"APIC, Share-Based Payment Arrangement, Increase for Cost Recognition","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Adjustments to reconcile net (loss) income to net cash (used in) provided by operating activities:","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract]","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:terseLabel","value":"Total stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expense","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:negatedTerseLabel","value":"Less: Allowances for doubtful accounts and estimated credit losses","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:periodStartLabel","value":"Accounts receivable, allowance for doubtful accounts and estimated credit losses, beginning balance","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:periodEndLabel","value":"Accounts receivable, allowance for doubtful accounts and estimated credit losses, ending balance","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Allowance for Credit Loss [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","labelType":"xbrl:negatedTerseLabel","value":"Less: Write offs","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Writeoff","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:terseLabel","value":"Total common stock equivalents (in shares)","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:label","value":"Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:totalLabel","value":"Total assets","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:label","value":"Assets","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:verboseLabel","value":"ASSETS","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:label","value":"Assets [Abstract]","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:totalLabel","value":"Total current assets","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:label","value":"Assets, Current","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:terseLabel","value":"Current assets:","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:label","value":"Assets, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:terseLabel","value":"Award Type","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:label","value":"Award Type [Axis]","language":"en-US"},{"forObject":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:terseLabel","value":"Equipment purchased in accounts payable","language":"en-US"},{"forObject":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:label","value":"Capital Expenditures Incurred but Not yet Paid","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAtCarryingValue","labelType":"xbrl:terseLabel","value":"Cash and cash equivalents","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAtCarryingValue","labelType":"xbrl:label","value":"Cash and Cash Equivalent","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodStartLabel","value":"Cash at beginning of period","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodEndLabel","value":"Cash at end of period","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:label","value":"Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:totalLabel","value":"(Decrease) Increase in cash","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:label","value":"Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:terseLabel","value":"Common Stock","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:label","value":"Common Stock [Member]","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:terseLabel","value":"Common stock, par value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:label","value":"Common Stock, Par or Stated Value Per Share","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:verboseLabel","value":"Common stock, shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:label","value":"Common Stock, Shares Authorized","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:verboseLabel","value":"Common stock, shares issued (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:label","value":"Common Stock, Shares, Issued","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:verboseLabel","value":"Common stock, shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodStartLabel","value":"Beginning balance (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodEndLabel","value":"Ending balance (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:label","value":"Common Stock, Shares, Outstanding","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:verboseLabel","value":"Common stock, $.001 par value; 200,000,000 shares authorized; 14,006,659 and 13,897,503 shares issued; and 13,886,326 and 13,777,170 outstanding as of July 31, 2025 and April 30, 2025, respectively","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:label","value":"Common Stock, Value, Issued","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:terseLabel","value":"Computer equipment and software","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:label","value":"Computer Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:label","value":"Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:label","value":"Contract with Customer, Liability","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:label","value":"Contract with Customer, Liability, Current","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:verboseLabel","value":"Cost of oncology revenue","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:label","value":"Cost of Product and Service Sold","language":"en-US"},{"forObject":"us-gaap:CostOfSalesMember","labelType":"xbrl:terseLabel","value":"Cost of oncology revenue","language":"en-US"},{"forObject":"us-gaap:CostOfSalesMember","labelType":"xbrl:label","value":"Cost of Sales [Member]","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Depreciation and amortization expense","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization, Nonproduction","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:terseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:label","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Disaggregation of Revenue","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:verboseLabel","value":"Stock-Based Payments","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement [Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:label","value":"Share-Based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:verboseLabel","value":"Net income (loss) per common share outstanding","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:label","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:terseLabel","value":"basic (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:verboseLabel","value":"Basic net income (loss) per share (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:label","value":"Earnings Per Share, Basic","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:terseLabel","value":"Basic net income (loss) per share computation:","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:terseLabel","value":"diluted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:verboseLabel","value":"Diluted net income (loss) per share (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:label","value":"Earnings Per Share, Diluted","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDilutedAbstract","labelType":"xbrl:terseLabel","value":"Diluted net income (loss) per share computation:","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDilutedAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:terseLabel","value":"Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:label","value":"Earnings Per Share, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:terseLabel","value":"Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:terseLabel","value":"Unrecognized stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:terseLabel","value":"Weighted average recognition period (in years)","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:terseLabel","value":"Employee Stock Option","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option [Member]","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:terseLabel","value":"Equipment","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:label","value":"Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:terseLabel","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:label","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestExpense","labelType":"xbrl:terseLabel","value":"Interest on lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestExpense","labelType":"xbrl:label","value":"Finance Lease, Interest Expense","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestPaymentOnLiability","labelType":"xbrl:terseLabel","value":"Finance lease, interest payment on liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestPaymentOnLiability","labelType":"xbrl:label","value":"Finance Lease, Interest Payment on Liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiability","labelType":"xbrl:terseLabel","value":"Present value of minimum lease payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiability","labelType":"xbrl:label","value":"Finance Lease, Liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of financing lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Finance Lease, Liability, To Be Paid, Maturity","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Non-current portion of financing lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"\u00a0Total undiscounted liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:terseLabel","value":"2027","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Year One","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:terseLabel","value":"2028","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Year Two","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","labelType":"xbrl:terseLabel","value":"2026 (remaining)","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Remainder of Fiscal Year","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:negatedTerseLabel","value":"Less: Imputed interest","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:label","value":"Finance Lease, Liability, Undiscounted Excess Amount","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:negatedLabel","value":"Finance lease payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:label","value":"Finance Lease, Principal Payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Financing lease net asset","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, after Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:terseLabel","value":"Amortization of leased assets","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","labelType":"xbrl:terseLabel","value":"Finance lease, asset, gross","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, before Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:terseLabel","value":"Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:terseLabel","value":"Finance lease, weighted average remaining lease term","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:label","value":"Finance Lease, Weighted Average Remaining Lease Term","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:terseLabel","value":"Furniture and fixtures","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:label","value":"Furniture and Fixtures [Member]","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:negatedTerseLabel","value":"Loss on disposal of equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:label","value":"Gain (Loss) on Disposition of Property Plant Equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:negatedTerseLabel","value":"Gain on termination of operating lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:terseLabel","value":"Gain (loss) on termination of lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:label","value":"Gain (Loss) on Termination of Lease","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:verboseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:label","value":"General and Administrative Expense","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:verboseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:label","value":"General and Administrative Expense [Member]","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:verboseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:label","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GranteeStatusAxis","labelType":"xbrl:terseLabel","value":"Grantee Status [Axis]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusAxis","labelType":"xbrl:label","value":"Grantee Status [Axis]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusDomain","labelType":"xbrl:terseLabel","value":"Grantee Status [Domain]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusDomain","labelType":"xbrl:label","value":"Grantee Status [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Income (loss) before provision for income taxes","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:terseLabel","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:label","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:terseLabel","value":"Statement of Income Location, Balance [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:label","value":"Statement of Income Location, Balance [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:terseLabel","value":"Statement of Income Location, Balance [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:label","value":"Statement of Income Location, Balance [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:verboseLabel","value":"Provision for income taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Income tax expense (benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:negatedLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","labelType":"xbrl:label","value":"Increase (Decrease) in Contract with Customer, Liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:verboseLabel","value":"Operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:verboseLabel","value":"Changes in operating assets and liabilities:","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Liabilities [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:negatedTerseLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:label","value":"Increase (Decrease) in Prepaid Expense and Other Assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:terseLabel","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:label","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:terseLabel","value":"Incremental shares from assumed exercise of stock options (in shares)","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:label","value":"Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants","language":"en-US"},{"forObject":"us-gaap:LeaseCost","labelType":"xbrl:totalLabel","value":"Total lease costs","language":"en-US"},{"forObject":"us-gaap:LeaseCost","labelType":"xbrl:label","value":"Lease, Cost","language":"en-US"},{"forObject":"us-gaap:LeaseCostAbstract","labelType":"xbrl:terseLabel","value":"Financing lease costs:","language":"en-US"},{"forObject":"us-gaap:LeaseCostAbstract","labelType":"xbrl:label","value":"Lease, Cost [Abstract]","language":"en-US"},{"forObject":"us-gaap:LeaseCostTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Lease Cost","language":"en-US"},{"forObject":"us-gaap:LeaseCostTableTextBlock","labelType":"xbrl:label","value":"Lease, Cost [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:terseLabel","value":"Leasehold improvements","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:label","value":"Leasehold Improvements [Member]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:terseLabel","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:label","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LesseeFinanceLeasesTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:LesseeFinanceLeasesTextBlock","labelType":"xbrl:label","value":"Lessee, Finance Leases [Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:label","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:label","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:label","value":"Lessee, Leases [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Future Operating Lease Payments","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"\u00a0Total undiscounted liabilities","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:verboseLabel","value":"2027","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year One","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:terseLabel","value":"2029","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Three","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:terseLabel","value":"2028","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Two","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","labelType":"xbrl:terseLabel","value":"2026 (remaining)","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:negatedTerseLabel","value":"Less: Imputed interest","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Undiscounted Excess Amount","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Leases [Text Block]","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:totalLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:label","value":"Liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:totalLabel","value":"Total liabilities and stockholders\u2019 equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:label","value":"Liabilities and Equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"LIABILITIES AND STOCKHOLDERS\u2019 EQUITY","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:label","value":"Liabilities and Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:totalLabel","value":"Total current liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:label","value":"Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Current liabilities:","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:label","value":"Liabilities, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","labelType":"xbrl:label","value":"Loans, Notes, Trade and Other Receivables Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:MinorityInterest","labelType":"xbrl:terseLabel","value":"Noncontrolling interest","language":"en-US"},{"forObject":"us-gaap:MinorityInterest","labelType":"xbrl:label","value":"Equity, Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by financing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:label","value":"Cash Provided by (Used in) Financing Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Financing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:totalLabel","value":"Net cash used in investing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:label","value":"Cash Provided by (Used in) Investing Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Investing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:totalLabel","value":"Net cash (used in) provided by operating activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:label","value":"Cash Provided by (Used in) Operating Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Operating activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:totalLabel","value":"Net income (loss) attributable to Company's common shares","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:terseLabel","value":"Net income (loss) attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:label","value":"Net Income (Loss) Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","labelType":"xbrl:negatedTerseLabel","value":"Less: net loss attributable to noncontrolling interest","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","labelType":"xbrl:label","value":"Net Income (Loss) Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:verboseLabel","value":"Basic and diluted net income (loss) income per share computation","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:terseLabel","value":"Net income (loss) attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Diluted","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Recently Issued Accounting Pronouncements","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:label","value":"New Accounting Pronouncements, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:NoncontrollingInterestMember","labelType":"xbrl:terseLabel","value":"Non-Controlling Interest","language":"en-US"},{"forObject":"us-gaap:NoncontrollingInterestMember","labelType":"xbrl:label","value":"Noncontrolling Interest [Member]","language":"en-US"},{"forObject":"us-gaap:NumberOfOperatingSegments","labelType":"xbrl:terseLabel","value":"Number of operating segments","language":"en-US"},{"forObject":"us-gaap:NumberOfOperatingSegments","labelType":"xbrl:label","value":"Number of Operating Segments","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:terseLabel","value":"Number of reportable segments","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:label","value":"Number of Reportable Segments","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:totalLabel","value":"Total costs and operating expenses","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:label","value":"Operating Costs and Expenses","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:verboseLabel","value":"Costs and operating expenses:","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:label","value":"Operating Expenses [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:totalLabel","value":"Income (loss) from operations","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:label","value":"Operating Income (Loss)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseCost","labelType":"xbrl:terseLabel","value":"Operating lease costs","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseCost","labelType":"xbrl:label","value":"Operating Lease, Cost","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:terseLabel","value":"Operating leases, rent expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:label","value":"Operating Lease, Expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:terseLabel","value":"Future minimum lease payments due each fiscal year as follows","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Present value of minimum lease payments","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:label","value":"Operating Lease, Liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Non-current operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:verboseLabel","value":"Non-current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:verboseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Operating Lease, Right-of-Use Asset","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:terseLabel","value":"Weighted average discount rate, percent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Discount Rate, Percent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:terseLabel","value":"Weighted average remaining lease term (in years)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Remaining Lease Term","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:terseLabel","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Organization, Use of Estimates and Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:terseLabel","value":"Other long-term assets","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:label","value":"Other Assets, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesCurrent","labelType":"xbrl:terseLabel","value":"Other current liability","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesCurrent","labelType":"xbrl:label","value":"Other Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:verboseLabel","value":"Other non-current liabilities","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:label","value":"Other Liabilities, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherNoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:terseLabel","value":"Non-cash investing activities:","language":"en-US"},{"forObject":"us-gaap:OtherNoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:label","value":"Other Noncash Investing and Financing Items [Abstract]","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:terseLabel","value":"Other income, net","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:label","value":"Other Nonoperating Income (Expense)","language":"en-US"},{"forObject":"us-gaap:OtherReceivables","labelType":"xbrl:terseLabel","value":"Due to related parties","language":"en-US"},{"forObject":"us-gaap:OtherReceivables","labelType":"xbrl:label","value":"Other Receivables","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Purchase of property and equipment","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:label","value":"Payments to Acquire Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:PerformanceSharesMember","labelType":"xbrl:terseLabel","value":"Performance Shares","language":"en-US"},{"forObject":"us-gaap:PerformanceSharesMember","labelType":"xbrl:label","value":"Performance Shares [Member]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:terseLabel","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:label","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:terseLabel","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:label","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:verboseLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:label","value":"Prepaid Expense and Other Assets, Current","language":"en-US"},{"forObject":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","labelType":"xbrl:terseLabel","value":"Reclassifications","language":"en-US"},{"forObject":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","labelType":"xbrl:label","value":"Reclassification, Comparability Adjustment [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ProceedsFromStockOptionsExercised","labelType":"xbrl:terseLabel","value":"Proceeds from exercise of options","language":"en-US"},{"forObject":"us-gaap:ProceedsFromStockOptionsExercised","labelType":"xbrl:label","value":"Proceeds from Stock Options Exercised","language":"en-US"},{"forObject":"us-gaap:ProductAndServiceOtherMember","labelType":"xbrl:terseLabel","value":"Other TOS revenue","language":"en-US"},{"forObject":"us-gaap:ProductAndServiceOtherMember","labelType":"xbrl:label","value":"Product and Service, Other [Member]","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:totalLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:terseLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:netLabel","value":"Net (loss) income","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:label","value":"Net Income (Loss), Including Portion Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:label","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:totalLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:label","value":"Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:terseLabel","value":"Long-Lived Tangible Asset [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:terseLabel","value":"Property, plant and equipment, disposals","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:label","value":"Property, Plant and Equipment, Disposals","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:terseLabel","value":"Total property and equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:label","value":"Property, Plant and Equipment, Gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:label","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Property And Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:terseLabel","value":"Long-Lived Tangible Asset [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:terseLabel","value":"Useful lives","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:label","value":"Property, Plant and Equipment, Useful Life","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:terseLabel","value":"Allowance and estimated credit losses","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:label","value":"Accounts Receivable, Credit Loss Expense (Reversal)","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:terseLabel","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:label","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyMember","labelType":"xbrl:terseLabel","value":"Related Party","language":"en-US"},{"forObject":"us-gaap:RelatedPartyMember","labelType":"xbrl:label","value":"Related Party [Member]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:terseLabel","value":"Related party transaction, amounts of transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:label","value":"Related Party Transaction, Amounts of Transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAxis","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Axis]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAxis","labelType":"xbrl:label","value":"Related Party Transaction [Axis]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionDomain","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Domain]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionDomain","labelType":"xbrl:label","value":"Related Party Transaction [Domain]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:label","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:terseLabel","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:label","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Related Party Transactions","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:label","value":"Related Party Transactions Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:verboseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:label","value":"Research and Development Expense","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:terseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:label","value":"Research and Development Expense [Member]","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:verboseLabel","value":"Accumulated deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:terseLabel","value":"Retained earnings (accumulated deficit)","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:label","value":"Retained Earnings (Accumulated Deficit)","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:terseLabel","value":"Accumulated Deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:label","value":"Retained Earnings [Member]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:terseLabel","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:terseLabel","value":"Oncology revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:verboseLabel","value":"Revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:netLabel","value":"Total oncology revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:label","value":"Revenue from Contract with Customer, Excluding Assessed Tax","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Revenue Recognition","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:terseLabel","value":"Revenue from Contracts with Customers","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:terseLabel","value":"Revenue arrangements by service contract period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:terseLabel","value":"Royalty expense","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:label","value":"Royalty Expense","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Accounts Receivable, Unbilled Services, And Advanced Billings","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:label","value":"Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of antidilutive securities excluded from earnings per share calculations","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:label","value":"Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of the calculation of earnings (loss) per share, basic and diluted","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:label","value":"Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Allocation Of Share Based Compensation Expense","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:label","value":"Related Party Transaction [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:terseLabel","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:label","value":"Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Stock Option Activity","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option, Activity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Valuation Assumptions For Stock Options","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SegmentReportingPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Segment Reporting","language":"en-US"},{"forObject":"us-gaap:SegmentReportingPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Segment Reporting, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:verboseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:label","value":"Selling and Marketing Expense","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:verboseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:label","value":"Selling and Marketing Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:verboseLabel","value":"Stock-based compensation","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Noncash Expense","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:terseLabel","value":"Vesting period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:verboseLabel","value":"Dividend yield","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:terseLabel","value":"Volatility (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:terseLabel","value":"Volatility rate maximum (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:terseLabel","value":"Volatility rate minimum (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:terseLabel","value":"Risk free interest rate (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:terseLabel","value":"Risk-free interest rates maximum (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:terseLabel","value":"Risk-free interest rates minimum (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:terseLabel","value":"Number of shares available for grant (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract","labelType":"xbrl:terseLabel","value":"Weighted Average Remaining Contractual Life (Years)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:terseLabel","value":"Exercisable (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Exercisable (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:terseLabel","value":"Forfeited (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:negatedLabel","value":"Forfeited (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:verboseLabel","value":"Granted (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Weighted-average grant date fair value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:terseLabel","value":"Outstanding","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:terseLabel","value":"Options granted outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodStartLabel","value":"Outstanding, beginning balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodEndLabel","value":"Outstanding, ending balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:terseLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodStartLabel","value":"Outstanding, beginning balance (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodEndLabel","value":"Outstanding, ending balance (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:terseLabel","value":"Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:terseLabel","value":"All Award Types","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:label","value":"Award Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Exercised (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Forfeited (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Granted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, Tranche One","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Tranche One [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, Tranche Two","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Tranche Two [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","labelType":"xbrl:terseLabel","value":"Directors and Employees","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Employee [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","labelType":"xbrl:verboseLabel","value":"Non- Employees","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonemployee [Member]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:terseLabel","value":"Vesting percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:terseLabel","value":"Expiration term of awards","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:verboseLabel","value":"Expected term (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:verboseLabel","value":"Exercisable","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Exercisable (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:terseLabel","value":"Outstanding (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:verboseLabel","value":"Significant Accounting Policies","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:label","value":"Significant Accounting Policies [Text Block]","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:terseLabel","value":"Capitalized software development costs","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:label","value":"Software and Software Development Costs [Member]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:terseLabel","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:label","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:terseLabel","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:label","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:terseLabel","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:label","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:terseLabel","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:label","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:terseLabel","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:label","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:terseLabel","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:label","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StockAppreciationRightsSARSMember","labelType":"xbrl:terseLabel","value":"Stock Appreciation Rights (SARs)","language":"en-US"},{"forObject":"us-gaap:StockAppreciationRightsSARSMember","labelType":"xbrl:label","value":"Stock Appreciation Rights (SARs) [Member]","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:terseLabel","value":"Issuance of common stock on exercise of stock options (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:label","value":"Stock Issued During Period, Shares, Other","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:negatedTerseLabel","value":"Exercised (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:terseLabel","value":"Issuance of common stock on exercise of stock options","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Other","language":"en-US"},{"forObject":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","labelType":"xbrl:terseLabel","value":"Remaining repurchase amount","language":"en-US"},{"forObject":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","labelType":"xbrl:label","value":"Share Repurchase Program, Remaining Authorized, Amount","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:totalLabel","value":"Total stockholders\u2019 equity attributable to Champions Oncology, Inc.","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:label","value":"Equity, Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"Stockholders\u2019 equity:","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:label","value":"Equity, Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Total stockholders' equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:periodStartLabel","value":"Beginning balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:periodEndLabel","value":"Ending balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:label","value":"Equity, Including Portion Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","labelType":"xbrl:terseLabel","value":"Treasury stock average price (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","labelType":"xbrl:label","value":"Shares Acquired, Average Cost Per Share","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:terseLabel","value":"Treasury Stock","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:label","value":"Treasury Stock, Common [Member]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodStartLabel","value":"Beginning balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodEndLabel","value":"Ending balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:label","value":"Treasury Stock, Common, Shares","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonValue","labelType":"xbrl:negatedTerseLabel","value":"Treasury stock, at cost","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonValue","labelType":"xbrl:label","value":"Treasury Stock, Common, Value","language":"en-US"},{"forObject":"us-gaap:TreasuryStockSharesAcquired","labelType":"xbrl:terseLabel","value":"Treasury stock (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockSharesAcquired","labelType":"xbrl:label","value":"Treasury Stock, Shares, Acquired","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValueAcquiredCostMethod","labelType":"xbrl:terseLabel","value":"Treasury stock approximate value","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValueAcquiredCostMethod","labelType":"xbrl:label","value":"Treasury Stock, Value, Acquired, Cost Method","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:terseLabel","value":"Cost, Product and Service [Extensible List]","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:label","value":"Cost, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:terseLabel","value":"Revenue, Product and Service [Extensible List]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:label","value":"Revenue, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:terseLabel","value":"Unbilled services","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:label","value":"Unbilled Contracts Receivable","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:terseLabel","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:label","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:terseLabel","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:label","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:terseLabel","value":"and diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:totalLabel","value":"Adjusted weighted average share \u2013 diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Diluted","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","labelType":"xbrl:verboseLabel","value":"Weighted average common shares outstanding","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:terseLabel","value":"basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:verboseLabel","value":"Weighted Average common shares - basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:netLabel","value":"Weighted Average common shares (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic","language":"en-US"},{"forObject":"cik:0000771856","labelType":"xbrl:label","value":"CHAMPIONS ONCOLOGY, INC.","language":"en-US"},{"forObject":"rpt:group-0","labelType":"xbrl:label","value":"9952158 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"rpt:group-1","labelType":"xbrl:label","value":"9955524 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Accounts Receivable, Allowance For Credit Loss (Details)","language":"en-US"},{"forObject":"rpt:group-2","labelType":"xbrl:label","value":"9955523 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Accounts Receivable, Unbilled Services, And Advanced Billings (Details)","language":"en-US"},{"forObject":"rpt:group-3","labelType":"xbrl:label","value":"9955525 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Deferred Revenue (Details)","language":"en-US"},{"forObject":"rpt:group-4","labelType":"xbrl:label","value":"9955513 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue (Tables)","language":"en-US"},{"forObject":"rpt:group-5","labelType":"xbrl:label","value":"9952151 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS","language":"en-US"},{"forObject":"rpt:group-6","labelType":"xbrl:label","value":"9952152 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (PARENTHETICAL)","language":"en-US"},{"forObject":"rpt:group-7","labelType":"xbrl:label","value":"9955540 - Disclosure - Commitment and Contingencies (Details)","language":"en-US"},{"forObject":"rpt:group-8","labelType":"xbrl:label","value":"9952164 - Disclosure - Commitments and Contingencies","language":"en-US"},{"forObject":"rpt:group-9","labelType":"xbrl:label","value":"0000001 - Document - Cover","language":"en-US"},{"forObject":"rpt:group-10","labelType":"xbrl:label","value":"9952162 - Disclosure - Leases","language":"en-US"},{"forObject":"rpt:group-11","labelType":"xbrl:label","value":"9955535 - Disclosure - Leases - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-12","labelType":"xbrl:label","value":"9955537 - Disclosure - Leases - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-13","labelType":"xbrl:label","value":"9955538 - Disclosure - Leases - Schedule of Lease Cost (Details)","language":"en-US"},{"forObject":"rpt:group-14","labelType":"xbrl:label","value":"9955536 - Disclosure - Leases - Schedule of ROU Assets and Lease Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-15","labelType":"xbrl:label","value":"9955517 - Disclosure - Leases (Tables)","language":"en-US"},{"forObject":"rpt:group-16","labelType":"xbrl:label","value":"9952156 - Disclosure - Organization, Use of Estimates and Basis of Presentation","language":"en-US"},{"forObject":"rpt:group-17","labelType":"xbrl:label","value":"9955518 - Disclosure - Organization, Use of Estimates and Basis of Presentation (Details)","language":"en-US"},{"forObject":"rpt:group-18","labelType":"xbrl:label","value":"9952160 - Disclosure - Property and Equipment","language":"en-US"},{"forObject":"rpt:group-19","labelType":"xbrl:label","value":"9955527 - Disclosure - Property and Equipment - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-20","labelType":"xbrl:label","value":"9955529 - Disclosure - Property and Equipment - Schedule of Finance Lease Assets and Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-21","labelType":"xbrl:label","value":"9955530 - Disclosure - Property and Equipment - Schedule of Finance Lease Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-22","labelType":"xbrl:label","value":"9955528 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)","language":"en-US"},{"forObject":"rpt:group-23","labelType":"xbrl:label","value":"9955515 - Disclosure - Property and Equipment (Tables)","language":"en-US"},{"forObject":"rpt:group-24","labelType":"xbrl:label","value":"9952163 - Disclosure - Related Party Transactions","language":"en-US"},{"forObject":"rpt:group-25","labelType":"xbrl:label","value":"9955539 - Disclosure - Related Party Transactions (Details)","language":"en-US"},{"forObject":"rpt:group-26","labelType":"xbrl:label","value":"9952159 - Disclosure - Revenue from Contracts with Customers","language":"en-US"},{"forObject":"rpt:group-27","labelType":"xbrl:label","value":"9955526 - Disclosure - Revenue from Contracts with Customers (Details)","language":"en-US"},{"forObject":"rpt:group-28","labelType":"xbrl:label","value":"9955514 - Disclosure - Revenue from Contracts with Customers (Tables)","language":"en-US"},{"forObject":"rpt:group-29","labelType":"xbrl:label","value":"9952157 - Disclosure - Significant Accounting Policies","language":"en-US"},{"forObject":"rpt:group-30","labelType":"xbrl:label","value":"9955519 - Disclosure - Significant Accounting Policies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-31","labelType":"xbrl:label","value":"9955511 - Disclosure - Significant Accounting Policies (Policies)","language":"en-US"},{"forObject":"rpt:group-32","labelType":"xbrl:label","value":"9955522 - Disclosure - Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"},{"forObject":"rpt:group-33","labelType":"xbrl:label","value":"9955520 - Disclosure - Significant Accounting Policies - Schedule of Calculation of Earnings Per Share (Details)","language":"en-US"},{"forObject":"rpt:group-34","labelType":"xbrl:label","value":"9955521 - Disclosure - Significant Accounting Policies - Schedule of Potentially Antidilutive Securities (Details)","language":"en-US"},{"forObject":"rpt:group-35","labelType":"xbrl:label","value":"9955512 - Disclosure - Significant Accounting Policies (Tables)","language":"en-US"},{"forObject":"rpt:group-36","labelType":"xbrl:label","value":"9952161 - Disclosure - Stock-Based Payments","language":"en-US"},{"forObject":"rpt:group-37","labelType":"xbrl:label","value":"9955532 - Disclosure - Stock-Based Payments - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-38","labelType":"xbrl:label","value":"9955531 - Disclosure - Stock-Based Payments - Schedule of Allocation of Share Based Compensation Expense (Details)","language":"en-US"},{"forObject":"rpt:group-39","labelType":"xbrl:label","value":"9955534 - Disclosure - Stock-Based Payments - Schedule of Stock Option Activity (Details)","language":"en-US"},{"forObject":"rpt:group-40","labelType":"xbrl:label","value":"9955533 - Disclosure - Stock-Based Payments - Schedule of Valuation Assumptions for Stock Options (Details)","language":"en-US"},{"forObject":"rpt:group-41","labelType":"xbrl:label","value":"9955516 - Disclosure - Stock-Based Payments (Tables)","language":"en-US"},{"forObject":"rpt:group-42","labelType":"xbrl:label","value":"9952155 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS","language":"en-US"},{"forObject":"rpt:group-43","labelType":"xbrl:label","value":"9952154 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS\u2019 EQUITY (DEFICIENCY)","language":"en-US"},{"forObject":"rpt:group-44","labelType":"xbrl:label","value":"9952153 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS","language":"en-US"},{"forObject":"rpt:group-45","labelType":"xbrl:label","value":"995443 - Disclosure - Award Timing Disclosure","language":"en-US"},{"forObject":"rpt:group-46","labelType":"xbrl:label","value":"995440 - Disclosure - Recovery of Erroneously Awarded Compensation","language":"en-US"},{"forObject":"rpt:group-47","labelType":"xbrl:label","value":"995445 - Disclosure - Insider Trading Arrangements","language":"en-US"},{"forObject":"rpt:group-48","labelType":"xbrl:label","value":"995447 - Disclosure - Insider Trading Policies and Procedures","language":"en-US"},{"forObject":"rpt:group-49","labelType":"xbrl:label","value":"995410 - Disclosure - Pay vs Performance Disclosure","language":"en-US"},{"forObject":"rpt:group-50","labelType":"xbrl:label","value":"9955537 - Disclosure - Leases - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-51","labelType":"xbrl:label","value":"9955530 - Disclosure - Property and Equipment - Schedule of Finance Lease Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-52","labelType":"xbrl:label","value":"9955522 - Disclosure - Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"},{"forObject":"rpt:group-53","labelType":"xbrl:label","value":"995444 - Document - Awards Close To MNPI Disclosures","language":"en-US"},{"forObject":"rpt:group-54","labelType":"xbrl:label","value":"995441 - Document - Forgone Recoveries, by Individual","language":"en-US"},{"forObject":"rpt:group-55","labelType":"xbrl:label","value":"995446 - Document - Insider Trading Arrangements, by Individual","language":"en-US"},{"forObject":"rpt:group-56","labelType":"xbrl:label","value":"995442 - Document - Outstanding Recoveries","language":"en-US"},{"forObject":"rpt:group-57","labelType":"xbrl:label","value":"995413 - Disclosure - Adjustments to Compensation","language":"en-US"},{"forObject":"rpt:group-58","labelType":"xbrl:label","value":"995411 - Disclosure - Pay vs Performance Disclosure, with Additional Measures","language":"en-US"},{"forObject":"rpt:group-59","labelType":"xbrl:label","value":"995424 - Disclosure - Measures","language":"en-US"},{"forObject":"rpt:group-60","labelType":"xbrl:label","value":"995412 - Document - Pay vs Performance Table","language":"en-US"},{"forObject":"rpt:group-61","labelType":"xbrl:label","value":"995415 - Disclosure - Tabular List Measures","language":"en-US"},{"forObject":"rpt:group-62","labelType":"xbrl:label","value":"995414 - Disclosure - Tabular Lists by Executive Category","language":"en-US"}],"networks":[{"name":"rpt:network-presentation-34","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-35","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-36","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableGross","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableGrossCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-37","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerLiability","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-38","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-39","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:AssetsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:AssetsCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:TreasuryStockCommonValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OtherLiabilitiesNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AssetsCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:OtherLiabilitiesCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:Liabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Goodwill","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:StockholdersEquityAbstract","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquity","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Assets","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:LiabilitiesCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:MinorityInterest","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-40","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockParOrStatedValuePerShare","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesAuthorized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesIssued","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-41","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"csbr:CommitmentsAndContingenciesTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFee","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"csbr:CommitmentsAndContingenciesLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"us-gaap:RoyaltyExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-42","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-43","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"dei:CoverAbstract","order":1.0},{"source":"dei:CoverAbstract","target":"dei:DocumentType","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentQuarterlyReport","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentPeriodEndDate","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentTransitionReport","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFileNumber","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityRegistrantName","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityIncorporationStateCountryCode","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityTaxIdentificationNumber","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressAddressLine1","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressPostalZipCode","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressCityOrTown","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressStateOrProvince","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CityAreaCode","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:LocalPhoneNumber","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:Security12bTitle","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:TradingSymbol","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:SecurityExchangeName","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCurrentReportingStatus","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityInteractiveDataCurrent","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFilerCategory","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntitySmallBusiness","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityEmergingGrowthCompany","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityShellCompany","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCommonStockSharesOutstanding","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:AmendmentFlag","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalYearFocus","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalPeriodFocus","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCentralIndexKey","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CurrentFiscalYearEndDate","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-44","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeasesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-45","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeLeaseDescriptionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","target":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"us-gaap:LesseeLeaseDescriptionLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:GainLossOnTerminationOfLease","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-46","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:OperatingLeaseLiability","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-47","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseCost","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeaseCostAbstract","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LeaseCostAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeaseCostAbstract","target":"us-gaap:FinanceLeaseInterestExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LeaseCost","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-48","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-49","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LeaseCostTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-50","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-51","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"csbr:NumberOfOperatingSubsidiaries","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:CounterpartyNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:CounterpartyNameAxis","target":"srt:RepurchaseAgreementCounterpartyNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:OperatingSubsidiariesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:NumberOfReportableSegments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-52","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:LesseeFinanceLeasesTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-53","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseAxis","target":"csbr:FinanceLeaseDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2023FinanceLeaseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:DepreciationDepletionAndAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"csbr:FinanceLeaseAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentDisposals","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseCost","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:PresentValueMinimumFutureObligationsInterestRate","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseInterestPaymentOnLiability","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-54","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-55","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiability","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-56","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:LaboratoryEquipmentMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:AssetInProgressMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-57","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-58","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-59","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:TitleOfIndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:CounterpartyNameAxis","target":"srt:RepurchaseAgreementCounterpartyNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionAxis","target":"us-gaap:RelatedPartyTransactionDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionDomain","target":"us-gaap:RelatedPartyMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionLineItems","target":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:CounterpartyNameAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionLineItems","target":"us-gaap:OtherReceivables","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"us-gaap:RelatedPartyTransactionAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"us-gaap:RelatedPartyTransactionLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-60","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:RevenueFromContractWithCustomerTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-61","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:ProductAndServiceOtherMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-62","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-63","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SignificantAccountingPoliciesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-64","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:WorkingCapitalDeficit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-65","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:EarningsPerSharePolicyTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SegmentReportingPolicyPolicyTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:LesseeLeasesPolicyTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-66","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"srt:RangeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:NumberOfOperatingSegments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:NumberOfReportableSegments","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-67","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareBasicAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareDilutedAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:EarningsPerShareBasic","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedAbstract","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedAbstract","target":"us-gaap:EarningsPerShareDiluted","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-68","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-69","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-70","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-71","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:IncomeStatementLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationAxis","target":"us-gaap:IncomeStatementLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingAxis","target":"us-gaap:VestingDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:TimeBasedAwardsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:TriggeringEventAxis","target":"csbr:TriggeringEventDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:TriggeringEventDomain","target":"csbr:SubjectToForfeitureMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:MarketBasedAwardsMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2021Member","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:VestingAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"csbr:TriggeringEventAxis","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"srt:StockRepurchaseProgramAuthorizedAmount1","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockSharesAcquired","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockValueAcquiredCostMethod","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-72","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:IncomeStatementLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationAxis","target":"us-gaap:IncomeStatementLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:CostOfSalesMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-73","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:GranteeStatusAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:GranteeStatusAxis","target":"us-gaap:GranteeStatusDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-74","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-75","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-76","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfCashFlowsAbstract","order":1.0},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ShareBasedCompensation","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:ProceedsFromStockOptionsExercised","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OtherNoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:DepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:FinanceLeasePrincipalPayments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnTerminationOfLease","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ProvisionForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:OtherNoncashInvestingAndFinancingItemsAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-77","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfStockholdersEquityAbstract","order":1.0},{"source":"us-gaap:StatementOfStockholdersEquityAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockCommonMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:NoncontrollingInterestMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesOther","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueOther","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:ProfitLoss","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-78","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfRevenueExtensibleList","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:CostOfGoodsAndServicesSold","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareDiluted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingExpensesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:ResearchAndDevelopmentExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:SellingAndMarketingExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingIncomeLoss","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GeneralAndAdministrativeExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OtherNonoperatingIncomeExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:OperatingCostsAndExpenses","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:ProfitLoss","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NetIncomeLoss","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:EarningsPerShareAbstract","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-79","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:AwardTmgDiscLineItems","order":1.0},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMnpiDiscTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardsCloseToMnpiDiscTable","target":"ecd:IndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMethodTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardsCloseToMnpiDiscTable","target":"us-gaap:AwardTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:StockAppreciationRightsSARSMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgPredtrmndFlag","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMnpiCnsdrdFlag","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:MnpiDiscTimedForCompValFlag","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscTableTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscTable","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscIndName","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardUndrlygSecuritiesAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardExrcPrice","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardGrantDateFairValue","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:UndrlygSecurityMktPriceChngPct","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-80","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:RecoveryOfErrCompDisclosureLineItems","order":1.0},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ErrCompRecoveryTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ErrCompRecoveryTable","target":"ecd:RestatementDateAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllIndividualsMember","target":"ecd:NonNeosMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ErrCompRecoveryTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:RestatementDeterminationDate","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:AggtErrCompAmt","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ErrCompAnalysisTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:StkPrcOrTsrEstimationMethodTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingAggtErrCompAmt","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:AggtErrCompNotYetDeterminedTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryIndName","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingRecoveryIndName","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingRecoveryCompAmt","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:RestatementDoesNotRequireRecoveryTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-81","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:InsiderTradingArrLineItems","order":1.0},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TradingArrByIndTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrByIndTable","target":"ecd:TradingArrAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrAxis","target":"ecd:AllTradingArrangementsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrByIndTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:MtrlTermsOfTrdArrTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrIndName","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrIndTitle","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:Rule10b51ArrAdoptedFlag","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:NonRule10b51ArrAdoptedFlag","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrAdoptionDate","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:Rule10b51ArrTrmntdFlag","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:NonRule10b51ArrTrmntdFlag","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrTerminationDate","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrExpirationDate","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrDuration","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrSecuritiesAggAvailAmt","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-82","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:InsiderTradingPoliciesProcLineItems","order":1.0},{"source":"ecd:InsiderTradingPoliciesProcLineItems","target":"ecd:InsiderTrdPoliciesProcAdoptedFlag","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingPoliciesProcLineItems","target":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-83","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:PayVsPerformanceDisclosureLineItems","order":1.0},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PvpTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:ExecutiveCategoryAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ExecutiveCategoryAxis","target":"ecd:AllExecutiveCategoriesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:PeoMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AdjToCompAxis","target":"ecd:AllAdjToCompMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsSvcCstMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:NonPeoNeoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtPnsnAdjsSvcCstMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsPrrSvcCstMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PvpTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:AdjToCompAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:EqtyAwrdsAdjsMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CoSelectedMeasureName","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:MeasureAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NamedExecutiveOfficersFnTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeerGroupIssuersFnTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:ChangedPeerGroupFnTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoTotalCompAmt","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoActuallyPaidCompAmt","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToPeoCompFnTextBlock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonPeoNeoAvgTotalCompAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToNonPeoNeoCompFnTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsNetIncomeTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TabularListTableTextBlock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TotalShareholderRtnAmt","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeerGroupTotalShareholderRtnAmt","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CoSelectedMeasureAmt","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:OtherPerfMeasureAmt","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToCompAmt","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoName","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:MeasureName","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonGaapMeasureDescriptionTextBlock","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:Additional402vDisclosureTextBlock","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PnsnBnftsAdjFnTextBlock","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:EqtyAwrdsAdjFnTextBlock","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-calculation-84","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0},{"source":"us-gaap:AccountsReceivableGrossCurrent","target":"us-gaap:AccountsReceivableGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AccountsReceivableGrossCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableGrossCurrent","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-85","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:Assets","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":2.0},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:Liabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:StockholdersEquity","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:AssetsCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:LiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:MinorityInterest","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OtherLiabilitiesNoncurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:TreasuryStockCommonValue","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:OtherLiabilitiesCurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:Goodwill","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-86","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:OperatingLeaseLiability","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-87","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-88","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeaseCost","order":1.0},{"source":"us-gaap:LeaseCost","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LeaseCost","target":"us-gaap:OperatingLeaseCost","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LeaseCost","target":"us-gaap:FinanceLeaseInterestExpense","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-89","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-90","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiability","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-91","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-92","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":1.0},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-93","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":1.0},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:FinanceLeasePrincipalPayments","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:ProceedsFromStockOptionsExercised","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ShareBasedCompensation","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:DepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnTerminationOfLease","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProvisionForDoubtfulAccounts","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":8.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":9.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","order":13.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-94","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:NetIncomeLoss","order":1.0},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OperatingIncomeLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:OperatingCostsAndExpenses","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:ProfitLoss","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:ResearchAndDevelopmentExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ProfitLoss","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:SellingAndMarketingExpense","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:GeneralAndAdministrativeExpense","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]}],"groups":[{"name":"rpt:group-0","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenue"},{"name":"rpt:group-1","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofAccountsReceivableAllowanceForCreditLossDetails"},{"name":"rpt:group-2","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofAccountsReceivableUnbilledServicesAndAdvancedBillingsDetails"},{"name":"rpt:group-3","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofDeferredRevenueDetails"},{"name":"rpt:group-4","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueTables"},{"name":"rpt:group-5","groupURI":"http://championsoncology.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"},{"name":"rpt:group-6","groupURI":"http://championsoncology.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSPARENTHETICAL"},{"name":"rpt:group-7","groupURI":"http://championsoncology.com/role/CommitmentandContingenciesDetails"},{"name":"rpt:group-8","groupURI":"http://championsoncology.com/role/CommitmentsandContingencies"},{"name":"rpt:group-9","groupURI":"http://championsoncology.com/role/Cover"},{"name":"rpt:group-10","groupURI":"http://championsoncology.com/role/Leases"},{"name":"rpt:group-11","groupURI":"http://championsoncology.com/role/LeasesNarrativeDetails"},{"name":"rpt:group-12","groupURI":"http://championsoncology.com/role/LeasesScheduleofFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-13","groupURI":"http://championsoncology.com/role/LeasesScheduleofLeaseCostDetails"},{"name":"rpt:group-14","groupURI":"http://championsoncology.com/role/LeasesScheduleofROUAssetsandLeaseLiabilitiesDetails"},{"name":"rpt:group-15","groupURI":"http://championsoncology.com/role/LeasesTables"},{"name":"rpt:group-16","groupURI":"http://championsoncology.com/role/OrganizationUseofEstimatesandBasisofPresentation"},{"name":"rpt:group-17","groupURI":"http://championsoncology.com/role/OrganizationUseofEstimatesandBasisofPresentationDetails"},{"name":"rpt:group-18","groupURI":"http://championsoncology.com/role/PropertyandEquipment"},{"name":"rpt:group-19","groupURI":"http://championsoncology.com/role/PropertyandEquipmentNarrativeDetails"},{"name":"rpt:group-20","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFinanceLeaseAssetsandLiabilitiesDetails"},{"name":"rpt:group-21","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFinanceLeaseFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-22","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"},{"name":"rpt:group-23","groupURI":"http://championsoncology.com/role/PropertyandEquipmentTables"},{"name":"rpt:group-24","groupURI":"http://championsoncology.com/role/RelatedPartyTransactions"},{"name":"rpt:group-25","groupURI":"http://championsoncology.com/role/RelatedPartyTransactionsDetails"},{"name":"rpt:group-26","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomers"},{"name":"rpt:group-27","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersDetails"},{"name":"rpt:group-28","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersTables"},{"name":"rpt:group-29","groupURI":"http://championsoncology.com/role/SignificantAccountingPolicies"},{"name":"rpt:group-30","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesNarrativeDetails"},{"name":"rpt:group-31","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesPolicies"},{"name":"rpt:group-32","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails"},{"name":"rpt:group-33","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesScheduleofCalculationofEarningsPerShareDetails"},{"name":"rpt:group-34","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesScheduleofPotentiallyAntidilutiveSecuritiesDetails"},{"name":"rpt:group-35","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesTables"},{"name":"rpt:group-36","groupURI":"http://championsoncology.com/role/StockBasedPayments"},{"name":"rpt:group-37","groupURI":"http://championsoncology.com/role/StockBasedPaymentsNarrativeDetails"},{"name":"rpt:group-38","groupURI":"http://championsoncology.com/role/StockBasedPaymentsScheduleofAllocationofShareBasedCompensationExpenseDetails"},{"name":"rpt:group-39","groupURI":"http://championsoncology.com/role/StockBasedPaymentsScheduleofStockOptionActivityDetails"},{"name":"rpt:group-40","groupURI":"http://championsoncology.com/role/StockBasedPaymentsScheduleofValuationAssumptionsforStockOptionsDetails"},{"name":"rpt:group-41","groupURI":"http://championsoncology.com/role/StockBasedPaymentsTables"},{"name":"rpt:group-42","groupURI":"http://championsoncology.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"},{"name":"rpt:group-43","groupURI":"http://championsoncology.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITYDEFICIENCY"},{"name":"rpt:group-44","groupURI":"http://championsoncology.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"},{"name":"rpt:group-45","groupURI":"http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"},{"name":"rpt:group-46","groupURI":"http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"},{"name":"rpt:group-47","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"},{"name":"rpt:group-48","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"},{"name":"rpt:group-49","groupURI":"http://xbrl.sec.gov/ecd/role/PvpDisclosure"},{"name":"rpt:group-50","groupURI":"http://championsoncology.com/role/LeasesScheduleofFutureMinimumLeasePaymentsDetails_1"},{"name":"rpt:group-51","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFinanceLeaseFutureMinimumLeasePaymentsDetails_1"},{"name":"rpt:group-52","groupURI":"http://championsoncology.com/role/SignificantAccountingPoliciesRevenueRecognitionDetails_1"},{"name":"rpt:group-53","groupURI":"http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc"},{"name":"rpt:group-54","groupURI":"http://xbrl.sec.gov/ecd/role/ForgoneRecoveries"},{"name":"rpt:group-55","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd"},{"name":"rpt:group-56","groupURI":"http://xbrl.sec.gov/ecd/role/OutstandingRecoveries"},{"name":"rpt:group-57","groupURI":"http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation"},{"name":"rpt:group-58","groupURI":"http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures"},{"name":"rpt:group-59","groupURI":"http://xbrl.sec.gov/ecd/role/PvpMeasures"},{"name":"rpt:group-60","groupURI":"http://xbrl.sec.gov/ecd/role/PvpTable"},{"name":"rpt:group-61","groupURI":"http://xbrl.sec.gov/ecd/role/TabularListMeasures"},{"name":"rpt:group-62","groupURI":"http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory"}],"groupContents":[{"groupName":"rpt:group-0","forObject":"rpt:network-presentation-34"},{"groupName":"rpt:group-1","forObject":"rpt:network-presentation-35"},{"groupName":"rpt:group-2","forObject":"rpt:network-presentation-36"},{"groupName":"rpt:group-3","forObject":"rpt:network-presentation-37"},{"groupName":"rpt:group-4","forObject":"rpt:network-presentation-38"},{"groupName":"rpt:group-5","forObject":"rpt:network-presentation-39"},{"groupName":"rpt:group-6","forObject":"rpt:network-presentation-40"},{"groupName":"rpt:group-7","forObject":"rpt:network-presentation-41"},{"groupName":"rpt:group-8","forObject":"rpt:network-presentation-42"},{"groupName":"rpt:group-9","forObject":"rpt:network-presentation-43"},{"groupName":"rpt:group-10","forObject":"rpt:network-presentation-44"},{"groupName":"rpt:group-11","forObject":"rpt:network-presentation-45"},{"groupName":"rpt:group-12","forObject":"rpt:network-presentation-46"},{"groupName":"rpt:group-13","forObject":"rpt:network-presentation-47"},{"groupName":"rpt:group-14","forObject":"rpt:network-presentation-48"},{"groupName":"rpt:group-15","forObject":"rpt:network-presentation-49"},{"groupName":"rpt:group-16","forObject":"rpt:network-presentation-50"},{"groupName":"rpt:group-17","forObject":"rpt:network-presentation-51"},{"groupName":"rpt:group-18","forObject":"rpt:network-presentation-52"},{"groupName":"rpt:group-19","forObject":"rpt:network-presentation-53"},{"groupName":"rpt:group-20","forObject":"rpt:network-presentation-54"},{"groupName":"rpt:group-21","forObject":"rpt:network-presentation-55"},{"groupName":"rpt:group-22","forObject":"rpt:network-presentation-56"},{"groupName":"rpt:group-23","forObject":"rpt:network-presentation-57"},{"groupName":"rpt:group-24","forObject":"rpt:network-presentation-58"},{"groupName":"rpt:group-25","forObject":"rpt:network-presentation-59"},{"groupName":"rpt:group-26","forObject":"rpt:network-presentation-60"},{"groupName":"rpt:group-27","forObject":"rpt:network-presentation-61"},{"groupName":"rpt:group-28","forObject":"rpt:network-presentation-62"},{"groupName":"rpt:group-29","forObject":"rpt:network-presentation-63"},{"groupName":"rpt:group-30","forObject":"rpt:network-presentation-64"},{"groupName":"rpt:group-31","forObject":"rpt:network-presentation-65"},{"groupName":"rpt:group-32","forObject":"rpt:network-presentation-66"},{"groupName":"rpt:group-33","forObject":"rpt:network-presentation-67"},{"groupName":"rpt:group-34","forObject":"rpt:network-presentation-68"},{"groupName":"rpt:group-35","forObject":"rpt:network-presentation-69"},{"groupName":"rpt:group-36","forObject":"rpt:network-presentation-70"},{"groupName":"rpt:group-37","forObject":"rpt:network-presentation-71"},{"groupName":"rpt:group-38","forObject":"rpt:network-presentation-72"},{"groupName":"rpt:group-39","forObject":"rpt:network-presentation-73"},{"groupName":"rpt:group-40","forObject":"rpt:network-presentation-74"},{"groupName":"rpt:group-41","forObject":"rpt:network-presentation-75"},{"groupName":"rpt:group-42","forObject":"rpt:network-presentation-76"},{"groupName":"rpt:group-43","forObject":"rpt:network-presentation-77"},{"groupName":"rpt:group-44","forObject":"rpt:network-presentation-78"},{"groupName":"rpt:group-45","forObject":"rpt:network-presentation-79"},{"groupName":"rpt:group-46","forObject":"rpt:network-presentation-80"},{"groupName":"rpt:group-47","forObject":"rpt:network-presentation-81"},{"groupName":"rpt:group-48","forObject":"rpt:network-presentation-82"},{"groupName":"rpt:group-49","forObject":"rpt:network-presentation-83"},{"groupName":"rpt:group-2","forObject":"rpt:network-calculation-84"},{"groupName":"rpt:group-5","forObject":"rpt:network-calculation-85"},{"groupName":"rpt:group-12","forObject":"rpt:network-calculation-86"},{"groupName":"rpt:group-50","forObject":"rpt:network-calculation-87"},{"groupName":"rpt:group-13","forObject":"rpt:network-calculation-88"},{"groupName":"rpt:group-21","forObject":"rpt:network-calculation-89"},{"groupName":"rpt:group-51","forObject":"rpt:network-calculation-90"},{"groupName":"rpt:group-22","forObject":"rpt:network-calculation-91"},{"groupName":"rpt:group-33","forObject":"rpt:network-calculation-92"},{"groupName":"rpt:group-42","forObject":"rpt:network-calculation-93"},{"groupName":"rpt:group-44","forObject":"rpt:network-calculation-94"},{"groupName":"rpt:group-7","forObject":"rpt:cube-0"},{"groupName":"rpt:group-11","forObject":"rpt:cube-1"},{"groupName":"rpt:group-17","forObject":"rpt:cube-2"},{"groupName":"rpt:group-19","forObject":"rpt:cube-3"},{"groupName":"rpt:group-22","forObject":"rpt:cube-4"},{"groupName":"rpt:group-25","forObject":"rpt:cube-5"},{"groupName":"rpt:group-27","forObject":"rpt:cube-6"},{"groupName":"rpt:group-32","forObject":"rpt:cube-7"},{"groupName":"rpt:group-52","forObject":"rpt:cube-8"},{"groupName":"rpt:group-37","forObject":"rpt:cube-9"},{"groupName":"rpt:group-38","forObject":"rpt:cube-10"},{"groupName":"rpt:group-39","forObject":"rpt:cube-11"},{"groupName":"rpt:group-40","forObject":"rpt:cube-12"},{"groupName":"rpt:group-43","forObject":"rpt:cube-13"},{"groupName":"rpt:group-45","forObject":"rpt:cube-14"},{"groupName":"rpt:group-53","forObject":"rpt:cube-15"},{"groupName":"rpt:group-46","forObject":"rpt:cube-16"},{"groupName":"rpt:group-54","forObject":"rpt:cube-17"},{"groupName":"rpt:group-55","forObject":"rpt:cube-18"},{"groupName":"rpt:group-48","forObject":"rpt:cube-19"},{"groupName":"rpt:group-56","forObject":"rpt:cube-20"},{"groupName":"rpt:group-57","forObject":"rpt:cube-21"},{"groupName":"rpt:group-49","forObject":"rpt:cube-22"},{"groupName":"rpt:group-58","forObject":"rpt:cube-23"},{"groupName":"rpt:group-59","forObject":"rpt:cube-24"},{"groupName":"rpt:group-60","forObject":"rpt:cube-25"},{"groupName":"rpt:group-61","forObject":"rpt:cube-26"},{"groupName":"rpt:group-62","forObject":"rpt:cube-27"}],"facts":[{"name":"rpt:f-0","factDimensions":{"xbrl:concept":"dei:AmendmentFlag","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-1","factDimensions":{"xbrl:concept":"dei:DocumentFiscalYearFocus","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2026"}]},{"name":"rpt:f-2","factDimensions":{"xbrl:concept":"dei:DocumentFiscalPeriodFocus","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Q2","language":"en-us"}]},{"name":"rpt:f-3","factDimensions":{"xbrl:concept":"dei:EntityCentralIndexKey","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"0000771856","language":"en-us"}]},{"name":"rpt:f-4","factDimensions":{"xbrl:concept":"dei:CurrentFiscalYearEndDate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"--04-30"}]},{"name":"rpt:f-5","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-6","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-7","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-8","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-9","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-10","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-11","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-12","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#ServiceMember"}]},{"name":"rpt:f-13","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-14","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-15","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2025#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-16","factDimensions":{"xbrl:concept":"dei:DocumentType","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"10-Q","language":"en-us"}]},{"name":"rpt:f-17","factDimensions":{"xbrl:concept":"dei:DocumentQuarterlyReport","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-18","factDimensions":{"xbrl:concept":"dei:DocumentPeriodEndDate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2025-10-31"}]},{"name":"rpt:f-19","factDimensions":{"xbrl:concept":"dei:DocumentTransitionReport","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-20","factDimensions":{"xbrl:concept":"dei:EntityFileNumber","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"001-11504","language":"en-us"}]},{"name":"rpt:f-21","factDimensions":{"xbrl:concept":"dei:EntityRegistrantName","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CHAMPIONS ONCOLOGY, INC.","language":"en-us"}]},{"name":"rpt:f-22","factDimensions":{"xbrl:concept":"dei:EntityIncorporationStateCountryCode","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"DE","language":"en-us"}]},{"name":"rpt:f-23","factDimensions":{"xbrl:concept":"dei:EntityTaxIdentificationNumber","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"52-1401755","language":"en-us"}]},{"name":"rpt:f-24","factDimensions":{"xbrl:concept":"dei:EntityAddressAddressLine1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"One University Plaza, Suite 307","language":"en-us"}]},{"name":"rpt:f-25","factDimensions":{"xbrl:concept":"dei:EntityAddressPostalZipCode","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"07601","language":"en-us"}]},{"name":"rpt:f-26","factDimensions":{"xbrl:concept":"dei:EntityAddressCityOrTown","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Hackensack","language":"en-us"}]},{"name":"rpt:f-27","factDimensions":{"xbrl:concept":"dei:EntityAddressStateOrProvince","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NJ","language":"en-us"}]},{"name":"rpt:f-28","factDimensions":{"xbrl:concept":"dei:CityAreaCode","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"201","language":"en-us"}]},{"name":"rpt:f-29","factDimensions":{"xbrl:concept":"dei:LocalPhoneNumber","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"808-8400","language":"en-us"}]},{"name":"rpt:f-30","factDimensions":{"xbrl:concept":"dei:Security12bTitle","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Common Stock, par value $0.001 per share","language":"en-us"}]},{"name":"rpt:f-31","factDimensions":{"xbrl:concept":"dei:TradingSymbol","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CSBR","language":"en-us"}]},{"name":"rpt:f-32","factDimensions":{"xbrl:concept":"dei:SecurityExchangeName","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NASDAQ","language":"en-us"}]},{"name":"rpt:f-33","factDimensions":{"xbrl:concept":"dei:EntityCurrentReportingStatus","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-34","factDimensions":{"xbrl:concept":"dei:EntityInteractiveDataCurrent","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-35","factDimensions":{"xbrl:concept":"dei:EntityFilerCategory","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Non-accelerated Filer","language":"en-us"}]},{"name":"rpt:f-36","factDimensions":{"xbrl:concept":"dei:EntitySmallBusiness","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-37","factDimensions":{"xbrl:concept":"dei:EntityEmergingGrowthCompany","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-38","factDimensions":{"xbrl:concept":"dei:EntityShellCompany","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-39","factDimensions":{"xbrl:concept":"dei:EntityCommonStockSharesOutstanding","xbrl:period":"2025-12-12T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13886326"}]},{"name":"rpt:f-40","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8516000","decimals":-3}]},{"name":"rpt:f-41","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9785000","decimals":-3}]},{"name":"rpt:f-42","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11539000","decimals":-3}]},{"name":"rpt:f-43","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11204000","decimals":-3}]},{"name":"rpt:f-44","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1277000","decimals":-3}]},{"name":"rpt:f-45","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-46","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"21332000","decimals":-3}]},{"name":"rpt:f-47","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"22358000","decimals":-3}]},{"name":"rpt:f-48","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4348000","decimals":-3}]},{"name":"rpt:f-49","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5080000","decimals":-3}]},{"name":"rpt:f-50","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3951000","decimals":-3}]},{"name":"rpt:f-51","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4375000","decimals":-3}]},{"name":"rpt:f-52","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"196000","decimals":-3}]},{"name":"rpt:f-53","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"196000","decimals":-3}]},{"name":"rpt:f-54","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-55","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-56","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30162000","decimals":-3}]},{"name":"rpt:f-57","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32344000","decimals":-3}]},{"name":"rpt:f-58","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5993000","decimals":-3}]},{"name":"rpt:f-59","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4248000","decimals":-3}]},{"name":"rpt:f-60","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2188000","decimals":-3}]},{"name":"rpt:f-61","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2556000","decimals":-3}]},{"name":"rpt:f-62","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1525000","decimals":-3}]},{"name":"rpt:f-63","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1471000","decimals":-3}]},{"name":"rpt:f-64","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"97000","decimals":-3}]},{"name":"rpt:f-65","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-66","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12338000","decimals":-3}]},{"name":"rpt:f-67","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15443000","decimals":-3}]},{"name":"rpt:f-68","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"22141000","decimals":-3}]},{"name":"rpt:f-69","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23853000","decimals":-3}]},{"name":"rpt:f-70","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3744000","decimals":-3}]},{"name":"rpt:f-71","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4634000","decimals":-3}]},{"name":"rpt:f-72","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"46000","decimals":-3}]},{"name":"rpt:f-73","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85000","decimals":-3}]},{"name":"rpt:f-74","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"25931000","decimals":-3}]},{"name":"rpt:f-75","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28572000","decimals":-3}]},{"name":"rpt:f-76","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-77","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-78","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-79","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-80","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14006659"}]},{"name":"rpt:f-81","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13897503"}]},{"name":"rpt:f-82","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13886326"}]},{"name":"rpt:f-83","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13777170"}]},{"name":"rpt:f-84","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-85","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-86","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-87","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-88","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"84985000","decimals":-3}]},{"name":"rpt:f-89","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"84358000","decimals":-3}]},{"name":"rpt:f-90","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-80121000","decimals":-3}]},{"name":"rpt:f-91","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-79892000","decimals":-3}]},{"name":"rpt:f-92","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4170000","decimals":-3}]},{"name":"rpt:f-93","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-94","factDimensions":{"xbrl:concept":"us-gaap:MinorityInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"61000","decimals":-3}]},{"name":"rpt:f-95","factDimensions":{"xbrl:concept":"us-gaap:MinorityInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-96","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4231000","decimals":-3}]},{"name":"rpt:f-97","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-98","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30162000","decimals":-3}]},{"name":"rpt:f-99","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32344000","decimals":-3}]},{"name":"rpt:f-100","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15035000","decimals":-3}]},{"name":"rpt:f-101","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13489000","decimals":-3}]},{"name":"rpt:f-102","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29030000","decimals":-3}]},{"name":"rpt:f-103","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27550000","decimals":-3}]},{"name":"rpt:f-104","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7262000","decimals":-3}]},{"name":"rpt:f-105","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7428000","decimals":-3}]},{"name":"rpt:f-106","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15257000","decimals":-3}]},{"name":"rpt:f-107","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14500000","decimals":-3}]},{"name":"rpt:f-108","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2616000","decimals":-3}]},{"name":"rpt:f-109","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1689000","decimals":-3}]},{"name":"rpt:f-110","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4698000","decimals":-3}]},{"name":"rpt:f-111","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3143000","decimals":-3}]},{"name":"rpt:f-112","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1998000","decimals":-3}]},{"name":"rpt:f-113","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1751000","decimals":-3}]},{"name":"rpt:f-114","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3853000","decimals":-3}]},{"name":"rpt:f-115","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3430000","decimals":-3}]},{"name":"rpt:f-116","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2974000","decimals":-3}]},{"name":"rpt:f-117","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1889000","decimals":-3}]},{"name":"rpt:f-118","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5544000","decimals":-3}]},{"name":"rpt:f-119","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4416000","decimals":-3}]},{"name":"rpt:f-120","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-121","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-122","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-20000","decimals":-3}]},{"name":"rpt:f-123","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-124","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14850000","decimals":-3}]},{"name":"rpt:f-125","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12757000","decimals":-3}]},{"name":"rpt:f-126","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29372000","decimals":-3}]},{"name":"rpt:f-127","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"25489000","decimals":-3}]},{"name":"rpt:f-128","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"185000","decimals":-3}]},{"name":"rpt:f-129","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"732000","decimals":-3}]},{"name":"rpt:f-130","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-342000","decimals":-3}]},{"name":"rpt:f-131","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2061000","decimals":-3}]},{"name":"rpt:f-132","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"70000","decimals":-3}]},{"name":"rpt:f-133","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-134","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"145000","decimals":-3}]},{"name":"rpt:f-135","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11000","decimals":-3}]},{"name":"rpt:f-136","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"255000","decimals":-3}]},{"name":"rpt:f-137","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"739000","decimals":-3}]},{"name":"rpt:f-138","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-197000","decimals":-3}]},{"name":"rpt:f-139","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2072000","decimals":-3}]},{"name":"rpt:f-140","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"18000","decimals":-3}]},{"name":"rpt:f-141","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11000","decimals":-3}]},{"name":"rpt:f-142","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"33000","decimals":-3}]},{"name":"rpt:f-143","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"31000","decimals":-3}]},{"name":"rpt:f-144","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"237000","decimals":-3}]},{"name":"rpt:f-145","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-146","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-230000","decimals":-3}]},{"name":"rpt:f-147","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2041000","decimals":-3}]},{"name":"rpt:f-148","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-31000","decimals":-3}]},{"name":"rpt:f-149","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-150","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-61000","decimals":-3}]},{"name":"rpt:f-151","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-152","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"268000","decimals":-3}]},{"name":"rpt:f-153","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-154","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-155","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2041000","decimals":-3}]},{"name":"rpt:f-156","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-157","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.05","decimals":2}]},{"name":"rpt:f-158","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-159","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.15","decimals":2}]},{"name":"rpt:f-160","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-161","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.05","decimals":2}]},{"name":"rpt:f-162","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-163","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.15","decimals":2}]},{"name":"rpt:f-164","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13791913","decimals":0}]},{"name":"rpt:f-165","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-166","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13758715","decimals":0}]},{"name":"rpt:f-167","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-168","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14457837","decimals":0}]},{"name":"rpt:f-169","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14016953","decimals":0}]},{"name":"rpt:f-170","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13758715","decimals":0}]},{"name":"rpt:f-171","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14029666","decimals":0}]},{"name":"rpt:f-172","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13897503"}]},{"name":"rpt:f-173","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-174","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-175","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-176","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"84358000","decimals":-3}]},{"name":"rpt:f-177","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-178","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-79892000","decimals":-3}]},{"name":"rpt:f-179","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-180","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-181","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"30000","decimals":-3}]},{"name":"rpt:f-182","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"208000","decimals":-3}]},{"name":"rpt:f-183","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"11251"}]},{"name":"rpt:f-184","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-185","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-186","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-466000","decimals":-3}]},{"name":"rpt:f-187","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-466000","decimals":-3}]},{"name":"rpt:f-188","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13908754"}]},{"name":"rpt:f-189","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-190","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-191","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-192","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"84560000","decimals":-3}]},{"name":"rpt:f-193","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"30000","decimals":-3}]},{"name":"rpt:f-194","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-80358000","decimals":-3}]},{"name":"rpt:f-195","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3538000","decimals":-3}]},{"name":"rpt:f-196","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"218000","decimals":-3}]},{"name":"rpt:f-197","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"31000","decimals":-3}]},{"name":"rpt:f-198","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"249000","decimals":-3}]},{"name":"rpt:f-199","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"97905"}]},{"name":"rpt:f-200","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-201","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-202","factDimensions":{"xbrl:concept":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"237000","decimals":-3}]},{"name":"rpt:f-203","factDimensions":{"xbrl:concept":"csbr:NetIncomeLossNetOfNonControllingInterestShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"237000","decimals":-3}]},{"name":"rpt:f-204","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14006659"}]},{"name":"rpt:f-205","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-206","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-207","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-208","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"84985000","decimals":-3}]},{"name":"rpt:f-209","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"61000","decimals":-3}]},{"name":"rpt:f-210","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-80121000","decimals":-3}]},{"name":"rpt:f-211","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4231000","decimals":-3}]},{"name":"rpt:f-212","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13714099"}]},{"name":"rpt:f-213","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-214","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-215","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-216","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"83384000","decimals":-3}]},{"name":"rpt:f-217","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-84593000","decimals":-3}]},{"name":"rpt:f-218","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1903000","decimals":-3}]},{"name":"rpt:f-219","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-05-01T00:00:00/2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"258000","decimals":-3}]},{"name":"rpt:f-220","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-05-01T00:00:00/2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"258000","decimals":-3}]},{"name":"rpt:f-221","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"1313000","decimals":-3}]},{"name":"rpt:f-222","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1313000","decimals":-3}]},{"name":"rpt:f-223","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13714099"}]},{"name":"rpt:f-224","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-225","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-226","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-227","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"83642000","decimals":-3}]},{"name":"rpt:f-228","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-83280000","decimals":-3}]},{"name":"rpt:f-229","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-332000","decimals":-3}]},{"name":"rpt:f-230","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-231","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-232","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"105137"}]},{"name":"rpt:f-233","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"276000","decimals":-3}]},{"name":"rpt:f-234","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"276000","decimals":-3}]},{"name":"rpt:f-235","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-236","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-237","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13819236"}]},{"name":"rpt:f-238","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-239","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-240","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-241","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"83927000","decimals":-3}]},{"name":"rpt:f-242","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-82552000","decimals":-3}]},{"name":"rpt:f-243","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"681000","decimals":-3}]},{"name":"rpt:f-244","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-230000","decimals":-3}]},{"name":"rpt:f-245","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2041000","decimals":-3}]},{"name":"rpt:f-246","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"457000","decimals":-3}]},{"name":"rpt:f-247","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"267000","decimals":-3}]},{"name":"rpt:f-248","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"715000","decimals":-3}]},{"name":"rpt:f-249","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"848000","decimals":-3}]},{"name":"rpt:f-250","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-20000","decimals":-3}]},{"name":"rpt:f-251","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-252","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-253","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-254","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"734000","decimals":-3}]},{"name":"rpt:f-255","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"583000","decimals":-3}]},{"name":"rpt:f-256","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-16000","decimals":-3}]},{"name":"rpt:f-257","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-280000","decimals":-3}]},{"name":"rpt:f-258","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"319000","decimals":-3}]},{"name":"rpt:f-259","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"664000","decimals":-3}]},{"name":"rpt:f-260","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-92000","decimals":-3}]},{"name":"rpt:f-261","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-635000","decimals":-3}]},{"name":"rpt:f-262","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1722000","decimals":-3}]},{"name":"rpt:f-263","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-947000","decimals":-3}]},{"name":"rpt:f-264","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-367000","decimals":-3}]},{"name":"rpt:f-265","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"74000","decimals":-3}]},{"name":"rpt:f-266","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-829000","decimals":-3}]},{"name":"rpt:f-267","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-655000","decimals":-3}]},{"name":"rpt:f-268","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3105000","decimals":-3}]},{"name":"rpt:f-269","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1874000","decimals":-3}]},{"name":"rpt:f-270","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1135000","decimals":-3}]},{"name":"rpt:f-271","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-272","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"288000","decimals":-3}]},{"name":"rpt:f-273","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"94000","decimals":-3}]},{"name":"rpt:f-274","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-288000","decimals":-3}]},{"name":"rpt:f-275","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-94000","decimals":-3}]},{"name":"rpt:f-276","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"231000","decimals":-3}]},{"name":"rpt:f-277","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"276000","decimals":-3}]},{"name":"rpt:f-278","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-279","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"74000","decimals":-3}]},{"name":"rpt:f-280","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"154000","decimals":-3}]},{"name":"rpt:f-281","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"202000","decimals":-3}]},{"name":"rpt:f-282","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1269000","decimals":-3}]},{"name":"rpt:f-283","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"136000","decimals":-3}]},{"name":"rpt:f-284","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9785000","decimals":-3}]},{"name":"rpt:f-285","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2618000","decimals":-3}]},{"name":"rpt:f-286","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8516000","decimals":-3}]},{"name":"rpt:f-287","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2754000","decimals":-3}]},{"name":"rpt:f-288","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23000","decimals":-3}]},{"name":"rpt:f-289","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-290","factDimensions":{"xbrl:concept":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Organization, Use of Estimates and Basis of Presentation<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Champions Oncology, Inc. (the \"Company\", or \"we\", or \"our\") is engaged in drug discovery and development through data-driven research strategies and innovative pharmacology, biomarker and data platforms. The Company\u2019s TumorGraft Technology Platform (the \"Platform\"), a comprehensive bank of unique, well characterized \"Patient Derived XenoGrafts\" (PDX) models, is an approach to personalizing cancer care based upon the implantation of human tumors in immune-deficient mice. The Company provides a technology platform to pharmaceutical and biotechnology companies using proprietary TumorGraft studies, which the Company believes may be predictive of how drugs may perform in clinical settings. Utilizing the Platform, the Company offers multiple services to pharmaceutical and biotechnology companies seeking personalized approaches to drug development. By performing studies to predict the efficacy of oncology drugs, our Platform is designed to facilitate drug discovery with lower costs and increased speed of drug development as well as increased adoption of existing drugs.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     The Company has four operating subsidiaries: Champions Oncology (Israel), Limited, Champions Oncology U.K. Limited, Champions Oncology, S.R.L. (Italy), and Corellia A.I. Inc. (\"Corellia\"). For the three and six months ended October 31, 2025 and 2024, there were no revenues earned by these subsidiaries.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s foreign subsidiaries' functional currency is the U.S. dollar. Transaction gains and losses are recognized in earnings. The Company is subject to foreign exchange rate fluctuations in connection with the Company\u2019s international operations.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The accompanying condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (\"GAAP\").  The Company operates in one reportable business segment. The condensed consolidated financial statements include the accounts of the Company and its subsidiaries in which it holds a controlling financial interest. Intercompany transactions and accounts have been eliminated. Non-controlling interests represent the portion of the equity in consolidated subsidiaries not attributable to the company. The non-controlling interests' share of the net assets, net income, and comprehensive income is separately presented in the condensed consolidated financial statements where applicable. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">These unaudited condensed consolidated financial statements have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission, or the SEC. Certain information related to the Company\u2019s organization, significant accounting policies and footnote disclosures normally included in financial statements prepared in accordance with GAAP has been condensed or omitted. The April 30, 2025 condensed consolidated balance sheet in the accompanying interim condensed consolidated financial statements was derived from audited condensed consolidated financial statements. The accounting policies followed in the preparation of these unaudited condensed consolidated financial statements are consistent with those followed in the Company\u2019s annual condensed consolidated financial statements for the fiscal year ended April\u00a030, 2025, as filed in the Company's Annual Report on Form 10-K with the SEC on July 23, 2025 (the \"Annual Report\"). In the opinion of management, these unaudited condensed consolidated financial statements contain all material adjustments necessary to fairly state our financial position, results of operations and cash flows for the periods presented and the presentations and disclosures herein are adequate when read in conjunction with the Annual Report. The results of operations for the interim periods are not necessarily indicative of the results of operations for a full fiscal year.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</span></div>","language":"en-us"}]},{"name":"rpt:f-291","factDimensions":{"xbrl:concept":"csbr:NumberOfOperatingSubsidiaries","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:subsidiary"},"factValues":[{"value":"4"}]},{"name":"rpt:f-292","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-293","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-294","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-295","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-296","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-297","factDimensions":{"xbrl:concept":"us-gaap:SignificantAccountingPoliciesTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Significant Accounting Policies <div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The significant accounting policies used in the preparation of these condensed consolidated financial statements are disclosed in our 2025 Annual Report and there have been no changes to the Company's significant accounting policies during the six months ended October 31, 2025.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Liquidity</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The Company's liquidity needs have typically arisen from the funding of its research and development programs and the launch of new products and services, working capital requirements, and other strategic initiatives. Historically, the Company has met these cash requirements through cash on hand, working capital management, and sales of products and services. In the past, the Company has also received proceeds from certain private placements and public offerings of our securities. For the six months ended October\u00a031, 2025, the Company had a net loss of approximately $237,000, an accumulated deficit of approximately $80.1\u00a0million, negative working capital of $809,000 and cash of $8.5\u00a0million. Despite the negative working capital, we believe that our cash on hand, together with expected cash flows from operations, are adequate to fund operations through at least the next twelve months from the filing of this report. Should the Company be required to raise additional capital or seek to obtain financing, there can be no assurance that management would be successful in raising such capital or obtaining such financing on terms acceptable to us, if at all. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     </span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock options. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income (loss) and number of shares used in computing basic and diluted earnings per share was as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:47.407%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.795%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.546%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.631%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.546%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.989%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.397%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.589%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(Dollars in Thousands)</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share computation:</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">268\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">728\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(169)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,041\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares \u2013 basic</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,791,913\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.15\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share computation:</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">268\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">728\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(169)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,041\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,791,913\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">665,924\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">423,187\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">435,900\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Adjusted weighted average share \u2013 diluted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,457,837\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,016,953\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,029,666\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.15\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential common stock instruments outstanding at October\u00a031, 2025 and 2024 including those that could have an effect on the future computation of dilution per common share, had their effect not been anti-dilutive. </span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.552%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.079%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.246%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">907,979\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue in accordance with Accounting Standards Codification (\"ASC\") 606 (\"ASC 606\"), Revenue from Contracts with Customers. The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">      All revenue is generated from contracts with customers. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     The majority of the Company's revenue arrangements are service contracts that are completed within a year or less. There are a few contracts that range in duration between 1 and 3 years. Substantially all of the Company's performance obligations, and associated revenue, are transferred to the customer over time. Most of the Company's contracts can be terminated by the customer without cause. In the event of termination, the Company's contracts provide that the customer pay the Company for services rendered through the termination date. The Company generally receives compensation based on a predetermined invoicing schedule relating to specific milestones for that contract.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     Amendments to contracts are common. The Company evaluates each amendment which meets the criteria of a contract modification under ASC 606. Each modification is further evaluated to determine whether the contract modification should be accounted for as a separate contract or as a continuation of the original agreement.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     The Company accounts for amendments as a separate contract as they meet the criteria under ASC 606-10-25-12.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">License Revenue </span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company also enters into contracts to provide access to certain PDX model data via a license agreement with payments based on a fixed-fee arrangement. The Company's current data licenses contain a single performance obligation of delivering access to the licensed data. The Company recognizes this license revenue at a point in time when the performance obligation is satisfied by delivery of the access to the data. </span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter. Sales commissions for the Company represent contract costs with a term of one year or less. Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.  </span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">  </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounts Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise when the revenue recognized exceeds the amount billed to the customer. Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms. Unbilled services are classified as a component of accounts receivable on the balance sheet. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Accounts receivable are customer obligations due under normal trade terms. The Company extends credit to its customers based on their creditworthiness and historical data and performs ongoing credit evaluations of our customers\u2019 financial condition. The Company maintains a provision for estimated credit losses related to accounts receivable for future expected bad debt resulting from the inability or unwillingness of our customers to make required payments. We estimate our provision for estimated credit losses based on relevant information such as historical experience, current economic conditions, and future expectations of specifically identified customer balances. This provision is adjusted as appropriate to reflect current conditions. After all attempts to collect a receivable have failed, the receivable is written off against the provision. We do not obtain collateral from our customers to secure accounts receivable.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue is recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the condensed consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Segment Reporting </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Operating segments are identified as components of an enterprise for which separate discrete financial information is available for evaluation by the Company\u2019s chief operating decision maker (\u201cCODM\u201d) and relied upon when making decisions regarding resource allocation and assessing performance. When evaluating the Company\u2019s financial performance, the CODM reviews total revenues, total expenses, and expenses by functional classification, using this information to make decisions on a Company-wide basis.</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company currently operates in one reportable segment pertaining to oncology services. The CODM for the Company is the Chief Executive Officer (the \u201cCEO\u201d). The Company\u2019s CEO reviews operating results on an aggregate basis and manages the Company\u2019s operations on a consolidated basis for the purpose of evaluating financial performance and allocating resources. Accordingly, the Company has determined that it has a single reportable and operating segment structure. The CEO uses net income or loss as well as revenue results to allocate resources in the annual budgeting and forecasting process and also uses that measure as a basis for evaluating financial performance regularly by comparing actual results with established budgets and forecasts. All significant expense categories are presented on our condensed Consolidated Statements of Operations. The measure of segment assets is reported on the condensed Consolidated Balance Sheet as total assets. Segment revenues and expenses are identical to that disclosed in the accompanying condensed Consolidated Statements of Operations.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Reclassifications</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Certain prior period amounts have been reclassified to conform to the current period\u2019s presentation.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Issued Accounting Pronouncements</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2023, the FASB issued ASU 2023-09, \u201cImprovements to Tax Disclosures\u201d (Topic 740). The new guidance is intended to enhance the transparency and decision usefulness of income tax disclosures through changes to the rate reconciliation and the income taxes paid information disclosed. The ASU is effective retrospectively for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company adopted this ASU as of May 1, 2025 and it has been included in the required disclosures in our financial statements since.</span></div>In November 2024 and January 2025, the FASB issued ASU 2024-03, \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40) \"Disaggregation of Income Statement Expenses\" and ASU 2025-01 \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40): Clarifying the Effective Date\".  The new guidance is intended to enhance transparency and disclosures by requiring public business entities to disclose additional information about specific expense categories in the notes to financial statements at interim and annual reporting periods. The ASU is effective for the first annual reporting periods after December 15, 2026, and interim periods within annual reporting periods beginning after December 15, 2027, with early adoption permitted.  The Company is in the process of evaluating the impact that the adoption of this ASU will have on its financial statements and related disclosures, which is not expected to be material.","language":"en-us"}]},{"name":"rpt:f-298","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"237000","decimals":-3}]},{"name":"rpt:f-299","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-80100000","decimals":-5}]},{"name":"rpt:f-300","factDimensions":{"xbrl:concept":"csbr:WorkingCapitalDeficit","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"809000","decimals":-3}]},{"name":"rpt:f-301","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8500000","decimals":-5}]},{"name":"rpt:f-302","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerSharePolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock options.","language":"en-us"}]},{"name":"rpt:f-303","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income (loss) and number of shares used in computing basic and diluted earnings per share was as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:47.407%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.795%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.546%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.631%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.546%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.989%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.397%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.589%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(Dollars in Thousands)</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share computation:</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">268\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">728\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(169)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,041\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares \u2013 basic</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,791,913\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.15\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share computation:</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">268\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">728\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(169)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,041\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,791,913\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,593,766\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">665,924\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">423,187\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">435,900\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Adjusted weighted average share \u2013 diluted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,457,837\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,016,953\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,758,715\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,029,666\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.15\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-304","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"268000","decimals":-3}]},{"name":"rpt:f-305","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-306","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-307","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2041000","decimals":-3}]},{"name":"rpt:f-308","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13791913","decimals":0}]},{"name":"rpt:f-309","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-310","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13758715","decimals":0}]},{"name":"rpt:f-311","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-312","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-313","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.05","decimals":2}]},{"name":"rpt:f-314","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-315","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.15","decimals":2}]},{"name":"rpt:f-316","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"268000","decimals":-3}]},{"name":"rpt:f-317","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"728000","decimals":-3}]},{"name":"rpt:f-318","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-319","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2041000","decimals":-3}]},{"name":"rpt:f-320","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13791913","decimals":0}]},{"name":"rpt:f-321","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-322","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13758715","decimals":0}]},{"name":"rpt:f-323","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13593766","decimals":0}]},{"name":"rpt:f-324","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"665924","decimals":0}]},{"name":"rpt:f-325","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"423187","decimals":0}]},{"name":"rpt:f-326","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0","decimals":0}]},{"name":"rpt:f-327","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"435900","decimals":0}]},{"name":"rpt:f-328","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14457837","decimals":0}]},{"name":"rpt:f-329","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14016953","decimals":0}]},{"name":"rpt:f-330","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13758715","decimals":0}]},{"name":"rpt:f-331","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14029666","decimals":0}]},{"name":"rpt:f-332","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-333","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.05","decimals":2}]},{"name":"rpt:f-334","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-335","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.15","decimals":2}]},{"name":"rpt:f-336","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential common stock instruments outstanding at October\u00a031, 2025 and 2024 including those that could have an effect on the future computation of dilution per common share, had their effect not been anti-dilutive. </span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.552%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.079%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.246%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">907,979\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-337","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2420026","decimals":0}]},{"name":"rpt:f-338","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"907979","decimals":0}]},{"name":"rpt:f-339","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue in accordance with Accounting Standards Codification (\"ASC\") 606 (\"ASC 606\"), Revenue from Contracts with Customers. The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">      All revenue is generated from contracts with customers. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     The majority of the Company's revenue arrangements are service contracts that are completed within a year or less. There are a few contracts that range in duration between 1 and 3 years. Substantially all of the Company's performance obligations, and associated revenue, are transferred to the customer over time. Most of the Company's contracts can be terminated by the customer without cause. In the event of termination, the Company's contracts provide that the customer pay the Company for services rendered through the termination date. The Company generally receives compensation based on a predetermined invoicing schedule relating to specific milestones for that contract.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     Amendments to contracts are common. The Company evaluates each amendment which meets the criteria of a contract modification under ASC 606. Each modification is further evaluated to determine whether the contract modification should be accounted for as a separate contract or as a continuation of the original agreement.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">     The Company accounts for amendments as a separate contract as they meet the criteria under ASC 606-10-25-12.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">License Revenue </span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company also enters into contracts to provide access to certain PDX model data via a license agreement with payments based on a fixed-fee arrangement. The Company's current data licenses contain a single performance obligation of delivering access to the licensed data. The Company recognizes this license revenue at a point in time when the performance obligation is satisfied by delivery of the access to the data. </span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter. Sales commissions for the Company represent contract costs with a term of one year or less. Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.  </span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">  </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounts Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise when the revenue recognized exceeds the amount billed to the customer. Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms. Unbilled services are classified as a component of accounts receivable on the balance sheet. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Accounts receivable are customer obligations due under normal trade terms. The Company extends credit to its customers based on their creditworthiness and historical data and performs ongoing credit evaluations of our customers\u2019 financial condition. The Company maintains a provision for estimated credit losses related to accounts receivable for future expected bad debt resulting from the inability or unwillingness of our customers to make required payments. We estimate our provision for estimated credit losses based on relevant information such as historical experience, current economic conditions, and future expectations of specifically identified customer balances. This provision is adjusted as appropriate to reflect current conditions. After all attempts to collect a receivable have failed, the receivable is written off against the provision. We do not obtain collateral from our customers to secure accounts receivable.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue is recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the condensed consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div>","language":"en-us"}]},{"name":"rpt:f-340","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","srt:RangeAxis":"srt:MinimumMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2025-08-01"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-341","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","srt:RangeAxis":"srt:MaximumMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2025-08-01"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-342","factDimensions":{"xbrl:concept":"us-gaap:SegmentReportingPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Segment Reporting </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Operating segments are identified as components of an enterprise for which separate discrete financial information is available for evaluation by the Company\u2019s chief operating decision maker (\u201cCODM\u201d) and relied upon when making decisions regarding resource allocation and assessing performance. When evaluating the Company\u2019s financial performance, the CODM reviews total revenues, total expenses, and expenses by functional classification, using this information to make decisions on a Company-wide basis.</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company currently operates in one reportable segment pertaining to oncology services. The CODM for the Company is the Chief Executive Officer (the \u201cCEO\u201d). The Company\u2019s CEO reviews operating results on an aggregate basis and manages the Company\u2019s operations on a consolidated basis for the purpose of evaluating financial performance and allocating resources. Accordingly, the Company has determined that it has a single reportable and operating segment structure. The CEO uses net income or loss as well as revenue results to allocate resources in the annual budgeting and forecasting process and also uses that measure as a basis for evaluating financial performance regularly by comparing actual results with established budgets and forecasts. All significant expense categories are presented on our condensed Consolidated Statements of Operations. The measure of segment assets is reported on the condensed Consolidated Balance Sheet as total assets. Segment revenues and expenses are identical to that disclosed in the accompanying condensed Consolidated Statements of Operations.</span></div>","language":"en-us"}]},{"name":"rpt:f-343","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-344","factDimensions":{"xbrl:concept":"us-gaap:NumberOfOperatingSegments","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-345","factDimensions":{"xbrl:concept":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Reclassifications</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Certain prior period amounts have been reclassified to conform to the current period\u2019s presentation.</span></div>","language":"en-us"}]},{"name":"rpt:f-346","factDimensions":{"xbrl:concept":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Issued Accounting Pronouncements</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2023, the FASB issued ASU 2023-09, \u201cImprovements to Tax Disclosures\u201d (Topic 740). The new guidance is intended to enhance the transparency and decision usefulness of income tax disclosures through changes to the rate reconciliation and the income taxes paid information disclosed. The ASU is effective retrospectively for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company adopted this ASU as of May 1, 2025 and it has been included in the required disclosures in our financial statements since.</span></div>In November 2024 and January 2025, the FASB issued ASU 2024-03, \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40) \"Disaggregation of Income Statement Expenses\" and ASU 2025-01 \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40): Clarifying the Effective Date\".  The new guidance is intended to enhance transparency and disclosures by requiring public business entities to disclose additional information about specific expense categories in the notes to financial statements at interim and annual reporting periods. The ASU is effective for the first annual reporting periods after December 15, 2026, and interim periods within annual reporting periods beginning after December 15, 2027, with early adoption permitted.  The Company is in the process of evaluating the impact that the adoption of this ASU will have on its financial statements and related disclosures, which is not expected to be material.","language":"en-us"}]},{"name":"rpt:f-347","factDimensions":{"xbrl:concept":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Accounts Receivable, Unbilled Services and Deferred Revenue<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.321%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:56.568%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.550%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.566%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.550%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.413%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.553%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,381\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,835\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,886\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,171\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,398\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,941\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable and unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,552\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,233\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,827\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Allowances for doubtful accounts and estimated credit losses</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,013)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,301)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable, net</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,539\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,204\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,526\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> Allowances for doubtful accounts and estimated credit losses were as follows (in thousands):</span></div><div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.339%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:81.130%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.724%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.746%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:5pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2025</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal for amounts subsequently collected</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Write offs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Ending balance October 31, 2025</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,013)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:41.568%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.516%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.516%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.458%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.519%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,338\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">15,443\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,094\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-348","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.321%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:56.568%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.550%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.566%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.550%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.413%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.553%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,381\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,835\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,886\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,171\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,398\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,941\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable and unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,552\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,233\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,827\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Allowances for doubtful accounts and estimated credit losses</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,013)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,301)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable, net</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,539\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,204\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,526\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-349","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5381000","decimals":-3}]},{"name":"rpt:f-350","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6835000","decimals":-3}]},{"name":"rpt:f-351","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4886000","decimals":-3}]},{"name":"rpt:f-352","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7171000","decimals":-3}]},{"name":"rpt:f-353","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5398000","decimals":-3}]},{"name":"rpt:f-354","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5941000","decimals":-3}]},{"name":"rpt:f-355","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12552000","decimals":-3}]},{"name":"rpt:f-356","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12233000","decimals":-3}]},{"name":"rpt:f-357","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10827000","decimals":-3}]},{"name":"rpt:f-358","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1013000","decimals":-3}]},{"name":"rpt:f-359","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1029000","decimals":-3}]},{"name":"rpt:f-360","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1301000","decimals":-3}]},{"name":"rpt:f-361","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11539000","decimals":-3}]},{"name":"rpt:f-362","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11204000","decimals":-3}]},{"name":"rpt:f-363","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9526000","decimals":-3}]},{"name":"rpt:f-364","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Allowances for doubtful accounts and estimated credit losses were as follows (in thousands):<div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.339%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:81.130%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.724%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.746%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:5pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2025</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal for amounts subsequently collected</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Write offs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Ending balance October 31, 2025</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,013)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-365","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1029000","decimals":-3}]},{"name":"rpt:f-366","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-13000","decimals":-3}]},{"name":"rpt:f-367","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-29000","decimals":-3}]},{"name":"rpt:f-368","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-369","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-370","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1013000","decimals":-3}]},{"name":"rpt:f-371","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:41.568%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.516%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.516%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.458%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.519%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,338\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">15,443\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,094\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-372","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12338000","decimals":-3}]},{"name":"rpt:f-373","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15443000","decimals":-3}]},{"name":"rpt:f-374","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12094000","decimals":-3}]},{"name":"rpt:f-375","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Revenue from Contracts with Customers<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Oncology Revenue</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table represents disaggregated revenue for the three and six months ended October 31, 2025 and 2024 (in thousands):</span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.736%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:41.667%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.526%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.317%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.317%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.529%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Pharmacology services</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,515\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,498\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">27,745\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">25,567\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS data license revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">157\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">468\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">363\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">991\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">817\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,983\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology revenue</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">15,035\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,489\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29,030\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">27,550\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Translational Oncology Solutions (\"TOS\") license revenue represents revenue from the sale of a license to access certain of the Company's PDX data. Other TOS revenue represents additional services provided to the Company's pharmaceutical and biotechnology customers, specifically flow cytometry services and software-as-a-service (\"SaaS\") provided via our Lumin Bioinformatics software (\"Lumin\").</span></div>","language":"en-us"}]},{"name":"rpt:f-376","factDimensions":{"xbrl:concept":"us-gaap:DisaggregationOfRevenueTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table represents disaggregated revenue for the three and six months ended October 31, 2025 and 2024 (in thousands):</span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:69.736%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:41.667%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.526%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.317%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.317%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.848%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.529%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Pharmacology services</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,515\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,498\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">27,745\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">25,567\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS data license revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">157\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">468\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">363\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">991\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">817\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,983\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology revenue</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">15,035\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,489\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29,030\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">27,550\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-377","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"14515000","decimals":-3}]},{"name":"rpt:f-378","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"12498000","decimals":-3}]},{"name":"rpt:f-379","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"27745000","decimals":-3}]},{"name":"rpt:f-380","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"25567000","decimals":-3}]},{"name":"rpt:f-381","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"157000","decimals":-3}]},{"name":"rpt:f-382","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-383","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"468000","decimals":-3}]},{"name":"rpt:f-384","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-385","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"363000","decimals":-3}]},{"name":"rpt:f-386","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"991000","decimals":-3}]},{"name":"rpt:f-387","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"817000","decimals":-3}]},{"name":"rpt:f-388","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"1983000","decimals":-3}]},{"name":"rpt:f-389","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15035000","decimals":-3}]},{"name":"rpt:f-390","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13489000","decimals":-3}]},{"name":"rpt:f-391","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29030000","decimals":-3}]},{"name":"rpt:f-392","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27550000","decimals":-3}]},{"name":"rpt:f-393","factDimensions":{"xbrl:concept":"us-gaap:LesseeFinanceLeasesTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Property and Equipment<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment is recorded at cost and primarily consists of laboratory equipment, computer equipment and software, capitalized software development costs, and furniture and fixtures. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:f-393\">three</span> to nine years. Property and equipment consisted of the following (table in thousands):</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:72.067%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.949%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.951%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31,<br/>2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,<br/>2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Furniture and fixtures</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,175\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,655\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">49\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,330\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Accumulated depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,379)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-412\"><span style=\"-sec-ix-hidden:f-413\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,951\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Depreciation and amortization expense was $357,000 and $399,000 for the three months ended October 31, 2025 and 2024, respectively. Depreciation and amortization expense, excluding expense recorded under finance leases, was $318,000 and $362,000 for the three months ended October 31, 2025 and 2024, respectively. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Depreciation and amortization expense was $715,000 and $848,000 for the six months ended October 31, 2025 and 2024, respectively. Depreciation and amortization expense, excluding expense recorded under finance leases, was $638,000 and $774,000 for the six months ended October 31, 2025 and 2024, respectively. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As of October\u00a031, 2025 and April\u00a030, 2025, property, plant and equipment included gross assets held under finance leases of $1.0 million. Related depreciation expense was approximately $39,000 and $37,000 for the three months ended October 31, 2025 and 2024, respectively, and $77,000 and $74,000 for the six months ended October 31, 2025 and 2024, respectively.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During the three months ended July 31, 2025, the Company disposed of lab equipment with a cost of $44,000 and accumulated depreciation of $24,000 as of the disposal date, resulting in a loss on disposal of equipment recorded of $20,000. The Company did not dispose of any equipment during the three months ended October 31, 2025. During the three and six months ended October 31, 2024, the Company did not dispose of any equipment. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Finance Lease</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal year 2023, the Company recognized a finance lease for laboratory equipment. This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $368,000 at inception through June 2027. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $368,000 was calculated based on an interest rate of 3.5%. Depreciation and amortization expense related to this finance lease was $19,000 and $18,000 for the three months ended October 31, 2025 and 2024, respectively, and $38,000 and $36,000, for the six months ended October 31, 2025 and 2024, respectively.  Interest on the related finance lease liability was approximately $1,100 and $1,800 for the three months ended October 31, 2025 and 2024, respectively. Interest on the related finance lease liability was approximately $2,400 and $3,700 for the six months ended October 31, 2025 and 2024, respectively.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal year 2022, the Company recognized a finance lease for laboratory equipment. This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $370,000 at inception through December 2025. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. At the commencement of the commitment, the present value of the minimum future obligations of $370,000 was calculated based on an interest rate of 3.25%. Depreciation and amortization expense related to this finance lease was $20,000 and $19,000 for the three months ended October 31, 2025 and 2024, respectively, and $39,000 and $38,000, for six months ended October 31, 2025 and 2024, respectively. Interest on the related finance lease liability was less than $1,000 for the three and six months ended October 31, 2025. Interest on the related finance lease liability was less than $1,000 for the three months ended October 31, 2024 and approximately $1,900 for the six months ended October 31, 2024.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As noted above, the Company's financing leases are for laboratory equipment. The associated liabilities for these leases are classified on the condensed consolidated balance sheets within other current and other non-current liabilities.  The weighted average remaining lease term of these leases is 1.40 years. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of financing lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">97\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of financing lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">46\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">160\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2026 (remaining)</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">147\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(4)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Refer to Note 7, Leases, for information on operating leases.</span></div>","language":"en-us"}]},{"name":"rpt:f-394","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Property and Equipment<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment is recorded at cost and primarily consists of laboratory equipment, computer equipment and software, capitalized software development costs, and furniture and fixtures. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:f-393\">three</span> to nine years. Property and equipment consisted of the following (table in thousands):</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:72.067%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.949%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.951%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31,<br/>2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,<br/>2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Furniture and fixtures</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,175\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,655\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">49\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,330\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Accumulated depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,379)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-412\"><span style=\"-sec-ix-hidden:f-413\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,951\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Depreciation and amortization expense was $357,000 and $399,000 for the three months ended October 31, 2025 and 2024, respectively. Depreciation and amortization expense, excluding expense recorded under finance leases, was $318,000 and $362,000 for the three months ended October 31, 2025 and 2024, respectively. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Depreciation and amortization expense was $715,000 and $848,000 for the six months ended October 31, 2025 and 2024, respectively. Depreciation and amortization expense, excluding expense recorded under finance leases, was $638,000 and $774,000 for the six months ended October 31, 2025 and 2024, respectively. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As of October\u00a031, 2025 and April\u00a030, 2025, property, plant and equipment included gross assets held under finance leases of $1.0 million. Related depreciation expense was approximately $39,000 and $37,000 for the three months ended October 31, 2025 and 2024, respectively, and $77,000 and $74,000 for the six months ended October 31, 2025 and 2024, respectively.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During the three months ended July 31, 2025, the Company disposed of lab equipment with a cost of $44,000 and accumulated depreciation of $24,000 as of the disposal date, resulting in a loss on disposal of equipment recorded of $20,000. The Company did not dispose of any equipment during the three months ended October 31, 2025. During the three and six months ended October 31, 2024, the Company did not dispose of any equipment. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Finance Lease</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal year 2023, the Company recognized a finance lease for laboratory equipment. This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $368,000 at inception through June 2027. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $368,000 was calculated based on an interest rate of 3.5%. Depreciation and amortization expense related to this finance lease was $19,000 and $18,000 for the three months ended October 31, 2025 and 2024, respectively, and $38,000 and $36,000, for the six months ended October 31, 2025 and 2024, respectively.  Interest on the related finance lease liability was approximately $1,100 and $1,800 for the three months ended October 31, 2025 and 2024, respectively. Interest on the related finance lease liability was approximately $2,400 and $3,700 for the six months ended October 31, 2025 and 2024, respectively.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal year 2022, the Company recognized a finance lease for laboratory equipment. This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $370,000 at inception through December 2025. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. At the commencement of the commitment, the present value of the minimum future obligations of $370,000 was calculated based on an interest rate of 3.25%. Depreciation and amortization expense related to this finance lease was $20,000 and $19,000 for the three months ended October 31, 2025 and 2024, respectively, and $39,000 and $38,000, for six months ended October 31, 2025 and 2024, respectively. Interest on the related finance lease liability was less than $1,000 for the three and six months ended October 31, 2025. Interest on the related finance lease liability was less than $1,000 for the three months ended October 31, 2024 and approximately $1,900 for the six months ended October 31, 2024.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As noted above, the Company's financing leases are for laboratory equipment. The associated liabilities for these leases are classified on the condensed consolidated balance sheets within other current and other non-current liabilities.  The weighted average remaining lease term of these leases is 1.40 years. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of financing lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">97\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of financing lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">46\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">160\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2026 (remaining)</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">147\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(4)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Refer to Note 7, Leases, for information on operating leases.</span></div>","language":"en-us"}]},{"name":"rpt:f-395","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P9Y"}]},{"name":"rpt:f-396","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Property and equipment consisted of the following (table in thousands):<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:72.067%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.949%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.951%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31,<br/>2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,<br/>2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Furniture and fixtures</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,175\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,655\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">49\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,330\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Accumulated depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,379)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-412\"><span style=\"-sec-ix-hidden:f-413\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,951\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-397","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-398","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-399","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"2175000","decimals":-3}]},{"name":"rpt:f-400","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"2165000","decimals":-3}]},{"name":"rpt:f-401","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"1888000","decimals":-3}]},{"name":"rpt:f-402","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"1888000","decimals":-3}]},{"name":"rpt:f-403","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:LaboratoryEquipmentMember"},"factValues":[{"value":"11655000","decimals":-3}]},{"name":"rpt:f-404","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:LaboratoryEquipmentMember"},"factValues":[{"value":"11323000","decimals":-3}]},{"name":"rpt:f-405","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:AssetInProgressMember"},"factValues":[{"value":"49000","decimals":-3}]},{"name":"rpt:f-406","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:AssetInProgressMember"},"factValues":[{"value":"124000","decimals":-3}]},{"name":"rpt:f-407","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"317000","decimals":-3}]},{"name":"rpt:f-408","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"317000","decimals":-3}]},{"name":"rpt:f-409","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16330000","decimals":-3}]},{"name":"rpt:f-410","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16063000","decimals":-3}]},{"name":"rpt:f-411","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12379000","decimals":-3}]},{"name":"rpt:f-412","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11688000","decimals":-3}]},{"name":"rpt:f-413","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3951000","decimals":-3}]},{"name":"rpt:f-414","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4375000","decimals":-3}]},{"name":"rpt:f-415","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"357000","decimals":-3}]},{"name":"rpt:f-416","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"399000","decimals":-3}]},{"name":"rpt:f-417","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"318000","decimals":-3}]},{"name":"rpt:f-418","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-419","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"715000","decimals":-3}]},{"name":"rpt:f-420","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"848000","decimals":-3}]},{"name":"rpt:f-421","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"638000","decimals":-3}]},{"name":"rpt:f-422","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"774000","decimals":-3}]},{"name":"rpt:f-423","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1000000.0","decimals":-5}]},{"name":"rpt:f-424","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1000000.0","decimals":-5}]},{"name":"rpt:f-425","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39000","decimals":-3}]},{"name":"rpt:f-426","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"37000","decimals":-3}]},{"name":"rpt:f-427","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-428","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"74000","decimals":-3}]},{"name":"rpt:f-429","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"44000","decimals":-3}]},{"name":"rpt:f-430","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-431","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"-20000","decimals":-3}]},{"name":"rpt:f-432","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-433","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-434","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-435","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2022-05-01T00:00:00/2023-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"368000","decimals":-3}]},{"name":"rpt:f-436","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"368000","decimals":-3}]},{"name":"rpt:f-437","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"0.035"}]},{"name":"rpt:f-438","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-439","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"18000","decimals":-3}]},{"name":"rpt:f-440","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"38000","decimals":-3}]},{"name":"rpt:f-441","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"36000","decimals":-3}]},{"name":"rpt:f-442","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"1100","decimals":-2}]},{"name":"rpt:f-443","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"1800","decimals":-2}]},{"name":"rpt:f-444","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"2400","decimals":-2}]},{"name":"rpt:f-445","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"3700","decimals":-2}]},{"name":"rpt:f-446","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-447","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-448","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"0.0325"}]},{"name":"rpt:f-449","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"20000","decimals":-3}]},{"name":"rpt:f-450","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-451","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"39000","decimals":-3}]},{"name":"rpt:f-452","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"38000","decimals":-3}]},{"name":"rpt:f-453","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-454","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-455","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-456","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"1900","decimals":-2}]},{"name":"rpt:f-457","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P1Y4M24D"}]},{"name":"rpt:f-458","factDimensions":{"xbrl:concept":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of financing lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">97\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of financing lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">46\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">160\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):<div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:43.945%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.869%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.869%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.917%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease right-of-use assets, net<br/></span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,348\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,080\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,525\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,471\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of operating lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,744\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,634\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-459","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"143000","decimals":-3}]},{"name":"rpt:f-460","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"220000","decimals":-3}]},{"name":"rpt:f-461","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"97000","decimals":-3}]},{"name":"rpt:f-462","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"60000","decimals":-3}]},{"name":"rpt:f-463","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"46000","decimals":-3}]},{"name":"rpt:f-464","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"160000","decimals":-3}]},{"name":"rpt:f-465","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2026 (remaining)</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">147\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(4)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">143\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-466","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"60000","decimals":-3}]},{"name":"rpt:f-467","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"80000","decimals":-3}]},{"name":"rpt:f-468","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-469","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"147000","decimals":-3}]},{"name":"rpt:f-470","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-471","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiability","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"143000","decimals":-3}]},{"name":"rpt:f-472","factDimensions":{"xbrl:concept":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-Based Payments<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Stock-based compensation expense was recognized as follows (table in thousands):</span></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.456%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.786%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.424%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.691%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">General and administrative</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">191\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(95)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">339\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">90\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">51\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">26\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">91\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">32\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">64\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">50\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">28\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">79\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">249\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">457\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">267\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:center\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">For the three and six months ended October 31, 2025, stock-based compensation expense for research and development includes approximately $31,000 and $61,000 respectively, for options granted by the Company's wholly-owned subsidiary, Corellia, to certain of its employees. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has in place a 2021 Equity Incentive Plan and 2010 Equity Incentive Plan as well as the 2023 Global Equity Incentive Plan which is specific to Corellia (collectively, the \"Plans\"). In general, these Plans provide for stock-based compensation to the Company\u2019s employees, directors and non-employees. The 2010 and 2021 Plans also provide for limits on the aggregate number of shares that may be granted, the term of grants and the strike price of option awards. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2021 Equity Incentive Plan</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As part of the 2021 Annual Shareholders Meeting, shareholders approved the adoption of the 2021 Equity Incentive Plan (\u201c2021 Equity Plan\u201d). The purpose of the 2021 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Incentive Stock Options; (iii) Restricted Stock Awards; and/or (iv) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2021 Equity Plan shall not exceed 2\u00a0million shares of common stock. Options and Stock Appreciation Rights expire no later than ten years from the date of grant and the awards vest as determined by the Company's Board of Directors. Options and Stock Appreciation Rights have a strike price not less than 100% of the fair market value of the common stock subject to the option or right at the date of grant. As of October\u00a031, 2025, approximately 355,000 shares were available for issue under this plan.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2010 Equity Incentive Plan</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">On February 18, 2011, shareholders owning a majority of the issued and outstanding shares of the Company executed a written consent approving the 2010 Equity Incentive Plan (\u201c2010 Equity Plan\u201d). The purpose of the 2010 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Restricted Stock Awards; and (iii) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2010 Equity Plan shall not exceed 30,000,000 shares of common stock. Options and Stock Appreciation Rights expire no later than ten years from the date of grant and the awards vest as determined by the Board. Options and Stock Appreciation Rights have a strike price not less than 100% of the fair market value of the common stock subject to the option or right at the date of grant. After February 2021, no more shares were available to be issued from this plan. As of October 31, 2025, approximately 787,000 options granted under the 2010 plan were still outstanding.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2023 Global Equity Incentive Plan</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">As part of the establishment of Corellia, the subsidiary's Board of Directors approved the adoption of the 2023 Global Equity Incentive Plan (\"the Plan\"). The purpose of the Plan is to grant (i) Non-statutory Stock Options; (ii) Incentive Stock Options; and/or (iii) Restricted Stock Awards (collectively, stock-based compensation) to its employees, directors and non-employees. Options expire no later than ten years from the date of grant. Options awards vest as follows, unless otherwise determined by the subsidiary's Board or Plan Administrator, twenty-five percent (25%) of the options grant on the first anniversary of the vesting commencement date (and in the absence of such determination, of date on which such Options were granted), and six and one-quarter percent (6.25%) of the options grant at the end of each subsequent three-month period thereafter over the course of the following three (3) years. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock Option Grants</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes and Monte Carlo assumptions used to calculate the fair value of Champions options granted by the Company during the three and six months ended October\u00a031, 2025 and 2024 were as follows:</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:83.479%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:22.017%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.639%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:16.588%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:16.588%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.339%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.504%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.58% - 3.77%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.08% - 4.50%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.58% - 4.48%</span></div></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59.47% - 59.57%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">55.65% - 62.00%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a059.47% - 62.72%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value of stock options granted during the three months ended October\u00a031, 2025 and 2024 was $0.00 and $2.48, respectively, noting that no options were granted during the three months ended October\u00a031, 2025. The weighted average fair value of stock options granted during the six months ended October\u00a031, 2025 and 2024 was $4.33 and $2.49, respectively.  </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of Corellia options granted by Corellia during the three and six months ended October\u00a031, 2025 and 2024 were as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"padding-left:108pt;text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.438%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.093%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.822%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.179%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.473%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:19.248%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.581%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt;text-indent:-90pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.15%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">65%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value of stock options granted during the six months ended October\u00a031, 2025 was $1,364.00. There have been no Corellia stock options granted prior to the first quarter of fiscal 2026 and no options were granted during the three months ended October\u00a031, 2025.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Due to the absence of an active market for the Corellia's common stock, Corellia utilized methodologies in accordance with the framework of the American Institute of Certified Public Accountants Technical Practice Aid, Valuation of Privately-Held Company Equity Securities Issued as Compensation, to estimate the fair value of its common stock. In determining the exercise prices for stock options granted, Corellia has considered the estimated fair value of the common stock as of the measurement date. The estimated fair value of the common stock has been determined at each grant date based upon a variety of factors, including the illiquid nature of the common stock. Among other factors are Corellia's financial position and historical financial performance, the status of technological developments within its' research, the composition and ability of the current research and management team, an evaluation or benchmark of the Company\u2019s competition and the current business climate in the marketplace. Significant changes to the key assumptions underlying the factors used could result in different fair values of common stock at each valuation date.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s stock options activity for the 2021 and 2010 equity incentive plans for the  six months ended October 31, 2025 was a</span><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">s follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:28.795%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.110%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.811%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.615%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.466%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.904%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.864%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,642,351\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,678,682\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.98\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.9</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,434,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">874,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">874,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.39\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.7</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,156)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,156)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2.11\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(15,125)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(15,125)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.04\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(8,375)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(8,375)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.13\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,383,695\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.96\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.5</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,726,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,383,695\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.96\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.5</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,726,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,458,663\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,625\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,464,288\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.4</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,476,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%\"> </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The remaining unrecognized stock-based compensation expense at October 31, 2025 was $3.8\u00a0million. Of this amount, $1.2\u00a0million relates to time-based awards with a remaining weighted average recognition period of 3.61 years and $888,000 related to market based awards with a remaining average recognition period of 2.2 years. The remaining $1.7\u00a0million of unrecognized stock-based compensation expense relates to performance-based awards for which expense will only be recognized when it becomes probable that the Company will achieve such defined financial targets.  As of October 31, 2025 , there were 430,000 options that have these performance-based vesting provisions and are subject to forfeiture, in whole or in part, if these performance conditions are not achieved. Management assesses, on an ongoing basis, the probability of whether the performance criteria will be achieved and, if it is deemed probable, stock-based compensation expense is recognized over the relevant performance period.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The stock options activity for the Corellia 2023 Global equity incentive plan for the six months ended October 31, 2025 was as follows: </span></div><div style=\"text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:31.648%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.765%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.110%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.969%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:6.940%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.384%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.449%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.823%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.011%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.871%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, October 31, 2025</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of October 31, 2025</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of October 31, 2025</span></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The remaining unrecognized stock-based compensation expense at October 31, 2025 was $348,000. This amount relates to time-based awards with a remaining weighted average recognition period of 2.55 years </span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Share Repurchase Program</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:107%\">On March 29, 2023, the Board of Directors approved a share repurchase program authorizing the Company to purchase up to an aggregate of $5.0\u00a0million of the Company\u2019s common stock. The share repurchase program is designed in accordance with Rule 10b-18 of the Securities Exchange Act of 1934, as amended (the \"Exchange Act\"). The shares may be purchased from time to time in the open market, as permitted under applicable rules and regulations, at prevailing market prices. The timing and amount of repurchases will depend on market conditions, share price, applicable legal requirements and other factors. The program does not obligate the Company to acquire a minimum number of shares. As of October\u00a031, 2025, the Company had purchased 120,300 shares of its common stock, at an average price of $5.73 per share, totaling approximately $708,000 and leaving an available balance of approximately $4.3\u00a0million authorized by the Board for use in the program as of that date. The last purchase was made during fiscal year 2024.</span></div>","language":"en-us"}]},{"name":"rpt:f-473","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Stock-based compensation expense was recognized as follows (table in thousands):</span></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.456%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.786%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.424%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.247%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.691%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">General and administrative</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">191\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(95)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">339\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">90\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">51\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">26\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">91\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">32\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">64\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">50\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">28\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">79\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">249\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">457\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">267\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-474","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"191000","decimals":-3}]},{"name":"rpt:f-475","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"-95000","decimals":-3}]},{"name":"rpt:f-476","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"339000","decimals":-3}]},{"name":"rpt:f-477","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"90000","decimals":-3}]},{"name":"rpt:f-478","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-479","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"51000","decimals":-3}]},{"name":"rpt:f-480","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"26000","decimals":-3}]},{"name":"rpt:f-481","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"91000","decimals":-3}]},{"name":"rpt:f-482","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"32000","decimals":-3}]},{"name":"rpt:f-483","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-484","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"64000","decimals":-3}]},{"name":"rpt:f-485","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-486","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:CostOfSalesMember"},"factValues":[{"value":"12000","decimals":-3}]},{"name":"rpt:f-487","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:CostOfSalesMember"},"factValues":[{"value":"50000","decimals":-3}]},{"name":"rpt:f-488","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:CostOfSalesMember"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-489","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:CostOfSalesMember"},"factValues":[{"value":"79000","decimals":-3}]},{"name":"rpt:f-490","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"249000","decimals":-3}]},{"name":"rpt:f-491","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-492","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"457000","decimals":-3}]},{"name":"rpt:f-493","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"267000","decimals":-3}]},{"name":"rpt:f-494","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"31000000","decimals":-3}]},{"name":"rpt:f-495","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"61000","decimals":-3}]},{"name":"rpt:f-496","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:RangeAxis":"srt:MaximumMember","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"2000000"}]},{"name":"rpt:f-497","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-498","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-499","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-500","factDimensions":{"xbrl:concept":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-501","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"355000","decimals":-3}]},{"name":"rpt:f-502","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:RangeAxis":"srt:MaximumMember","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"30000000"}]},{"name":"rpt:f-503","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-504","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-505","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-506","factDimensions":{"xbrl:concept":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-507","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"787000","decimals":-3}]},{"name":"rpt:f-508","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-509","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-510","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-511","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.25","decimals":2}]},{"name":"rpt:f-512","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"0.0625","decimals":4}]},{"name":"rpt:f-513","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-514","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes and Monte Carlo assumptions used to calculate the fair value of Champions options granted by the Company during the three and six months ended October\u00a031, 2025 and 2024 were as follows:</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:83.479%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:22.017%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:17.639%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:16.588%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:16.588%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.675%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.339%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.504%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.58% - 3.77%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.08% - 4.50%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.58% - 4.48%</span></div></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59.47% - 59.57%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">55.65% - 62.00%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a059.47% - 62.72%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of Corellia options granted by Corellia during the three and six months ended October\u00a031, 2025 and 2024 were as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"padding-left:108pt;text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.438%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.093%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.822%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.179%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.473%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.768%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:19.248%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.581%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt;text-indent:-90pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended<br/>October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.15%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">65%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-515","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-516","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-517","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-518","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-519","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":4}]},{"name":"rpt:f-520","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0358","decimals":4}]},{"name":"rpt:f-521","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0377","decimals":4}]},{"name":"rpt:f-522","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0408","decimals":4}]},{"name":"rpt:f-523","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0450","decimals":4}]},{"name":"rpt:f-524","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0358","decimals":4}]},{"name":"rpt:f-525","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0448","decimals":4}]},{"name":"rpt:f-526","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":4}]},{"name":"rpt:f-527","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.5947","decimals":4}]},{"name":"rpt:f-528","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.5957","decimals":4}]},{"name":"rpt:f-529","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.5565","decimals":4}]},{"name":"rpt:f-530","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.6200","decimals":4}]},{"name":"rpt:f-531","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.5947","decimals":4}]},{"name":"rpt:f-532","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.6272","decimals":4}]},{"name":"rpt:f-533","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-534","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-535","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-536","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-537","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.00","decimals":2}]},{"name":"rpt:f-538","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.48","decimals":2}]},{"name":"rpt:f-539","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.33","decimals":2}]},{"name":"rpt:f-540","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.49","decimals":2}]},{"name":"rpt:f-541","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-542","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-543","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-544","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-545","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":4}]},{"name":"rpt:f-546","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-547","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0.0415","decimals":4}]},{"name":"rpt:f-548","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-549","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-550","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-551","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0.65","decimals":2}]},{"name":"rpt:f-552","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-553","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-554","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-555","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-556","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-557","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1364","decimals":2}]},{"name":"rpt:f-558","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-559","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-560","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s stock options activity for the 2021 and 2010 equity incentive plans for the  six months ended October 31, 2025 was a</span><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">s follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.807%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:28.795%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.110%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.811%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.615%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.466%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.904%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.547%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.864%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,642,351\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,678,682\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.98\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.9</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,434,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">874,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">874,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.39\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.7</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,156)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,156)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2.11\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(15,125)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(15,125)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.04\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(8,375)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(8,375)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.13\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,383,695\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.96\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.5</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,726,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,383,695\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36,331\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,420,026\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.96\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.5</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,726,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of October 31, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,458,663\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,625\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,464,288\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.4</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,476,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0</span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The stock options activity for the Corellia 2023 Global equity incentive plan for the six months ended October 31, 2025 was as follows: </span></div><div style=\"text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:31.648%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.765%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:8.110%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.969%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:6.940%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.384%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.449%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.823%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.011%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.871%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, October 31, 2025</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of October 31, 2025</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.56</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of October 31, 2025</span></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-561","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"1642351"}]},{"name":"rpt:f-562","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"36331"}]},{"name":"rpt:f-563","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"1678682"}]},{"name":"rpt:f-564","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"4.98","decimals":2}]},{"name":"rpt:f-565","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P4Y10M24D"}]},{"name":"rpt:f-566","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"4434000","decimals":-3}]},{"name":"rpt:f-567","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"874000"}]},{"name":"rpt:f-568","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-569","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"874000"}]},{"name":"rpt:f-570","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"7.39","decimals":2}]},{"name":"rpt:f-571","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P9Y8M12D"}]},{"name":"rpt:f-572","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"109156"}]},{"name":"rpt:f-573","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-574","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"109156"}]},{"name":"rpt:f-575","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"2.11","decimals":2}]},{"name":"rpt:f-576","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"15125"}]},{"name":"rpt:f-577","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-578","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"15125"}]},{"name":"rpt:f-579","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"7.04","decimals":2}]},{"name":"rpt:f-580","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"8375"}]},{"name":"rpt:f-581","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-582","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"8375"}]},{"name":"rpt:f-583","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"7.13","decimals":2}]},{"name":"rpt:f-584","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"2383695"}]},{"name":"rpt:f-585","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"36331"}]},{"name":"rpt:f-586","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"2420026"}]},{"name":"rpt:f-587","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"5.96","decimals":2}]},{"name":"rpt:f-588","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P6Y6M"}]},{"name":"rpt:f-589","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"3726000","decimals":-3}]},{"name":"rpt:f-590","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"2383695"}]},{"name":"rpt:f-591","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"36331"}]},{"name":"rpt:f-592","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"2420026"}]},{"name":"rpt:f-593","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"5.96","decimals":2}]},{"name":"rpt:f-594","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P6Y6M"}]},{"name":"rpt:f-595","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"3726000","decimals":-3}]},{"name":"rpt:f-596","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"1458663"}]},{"name":"rpt:f-597","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"5625"}]},{"name":"rpt:f-598","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"1464288"}]},{"name":"rpt:f-599","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"5.06","decimals":2}]},{"name":"rpt:f-600","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P4Y4M24D"}]},{"name":"rpt:f-601","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"3476000","decimals":-3}]},{"name":"rpt:f-602","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"3800000","decimals":-3}]},{"name":"rpt:f-603","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"1200000","decimals":-3}]},{"name":"rpt:f-604","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"P3Y7M9D"}]},{"name":"rpt:f-605","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"csbr:MarketBasedAwardsMember"},"factValues":[{"value":"888000","decimals":-3}]},{"name":"rpt:f-606","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"csbr:MarketBasedAwardsMember"},"factValues":[{"value":"P2Y2M12D"}]},{"name":"rpt:f-607","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"1700000","decimals":-3}]},{"name":"rpt:f-608","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","csbr:TriggeringEventAxis":"csbr:SubjectToForfeitureMember","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"430000","decimals":-4}]},{"name":"rpt:f-609","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-610","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-611","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-612","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-613","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-614","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-615","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-616","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-617","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-618","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y6M21D"}]},{"name":"rpt:f-619","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-620","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-621","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-622","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-623","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y6M21D"}]},{"name":"rpt:f-624","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"110000","decimals":-3}]},{"name":"rpt:f-625","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-626","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-627","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-628","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-629","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y6M21D"}]},{"name":"rpt:f-630","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"110000","decimals":-3}]},{"name":"rpt:f-631","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-632","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-633","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-634","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-635","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-636","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"348000","decimals":-3}]},{"name":"rpt:f-637","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"P2Y6M18D"}]},{"name":"rpt:f-638","factDimensions":{"xbrl:concept":"srt:StockRepurchaseProgramAuthorizedAmount1","xbrl:period":"2023-03-30T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5000000","decimals":-5}]},{"name":"rpt:f-639","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockSharesAcquired","xbrl:period":"2023-03-29T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"120300"}]},{"name":"rpt:f-640","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","xbrl:period":"2023-03-29T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.73","decimals":2}]},{"name":"rpt:f-641","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockValueAcquiredCostMethod","xbrl:period":"2023-03-29T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-642","factDimensions":{"xbrl:concept":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4300000","decimals":-5}]},{"name":"rpt:f-643","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeasesTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Leases<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company accounts for its leases under FASB ASC Topic 842, Leases. Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use (\"ROU\") asset and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease, if applicable, or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term. </span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Operating Leases</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company currently leases certain office equipment and its office and laboratory facilities under non-cancelable operating leases. Rent expense for operating leases is recognized on a straight-line basis over the lease term from the lease commencement date through the scheduled expiration date. Rent expense totaled $454,000 for both the three months ended October 31, 2025 and 2024. Rent expense totaled $907,000 for both the six months ended October 31, 2025 and 2024. The Company considers its facilities adequate for its current operational needs.</span></div><div style=\"text-align:justify;text-indent:15.75pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company leases the following facilities:</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">One University Plaza, Suite 307, Hackensack, New Jersey 07601, which, since November 2011, serves as the Company\u2019s corporate headquarters. The lease expires in November 2026. The Company recognized $19,000 of rent expense relative to this lease for both the three months ended October 31, 2025 and 2024. The Company recognized $38,000 of rent expense relative to this lease for both the six months ended October 31, 2025 and 2024. </span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">1330 Piccard Drive Suite 025, Rockville, MD 20850, which consists of laboratory and office space where the Company conducts operations related to its primary service offerings. The Company executed the original lease in January 2017. The lease was amended to expand the premises and extend the expiration date in March 2020 and again in December 2020. The operating commencement date was August\u00a011, 2017. This lease expires in February 2029. The Company recognized $422,000 of rent expense relative to this lease for both the three months ended October 31, 2025 and 2024.  The Company recognized $843,000 of rent expense relative to this lease for both the six months ended October 31, 2025 and 2024.  </span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">VIA LEONE XIII, 14, Milan, Italy, which consists of laboratory and office space where the Company conducts operations related to its flow cytometry service offerings.  The Company executed the lease in November 2022. The lease was set to expire October 31, 2028. During the three months ended October 31, 2025, the Company exercised its right to terminate the lease early.  The lease will terminate April 30, 2026 and the Company will no longer utilize a physical site in Italy. As part of this lease modification, the Company recorded a reduction to its right of use asset related to this lease of $108,000.  In addition, the Company recorded a reduction to the current and non-current portions of the related operating lease liabilities of $16,000 and $101,000, respectively.  A gain on lease termination of $9,000 was recorded. The Company recognized $13,000 of rent expense relative to this lease for both the three months ended October 31, 2025 and 2024. The Company recognized $25,000 of rent expense relative to this lease for both the six months ended October 31, 2025 and 2024. </span></div><div style=\"text-align:justify;text-indent:4.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:4.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:43.945%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.869%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.869%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.917%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">October 31, 2025</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease right-of-use assets, net<br/></span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,348\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,080\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,525\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,471\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of operating lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,744\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,634\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">As of October 31, 2025, the weighted average remaining operating lease term and the weighted average discount rate were\u00a03.26 years and\u00a05.83%, respectively.  As of October 31, 2024, the weighted average remaining operating lease term and the weighted average discount rate were\u00a04.24 years\u00a0and\u00a05.88%, respectively.  </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2026 (remaining)</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,482\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,869\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,816\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2029</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,364\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,531\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(4,262)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,269\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The composition of total lease cost for three and six months ended October 31, 2025 and 2024 were as follows (in thousands): </span></div><div><span><br/></span></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.929%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:5.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:28.915%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.403%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.157%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.855%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.988%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease costs</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">445\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">432\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">885\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">861\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease costs:</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Amortization of leased assets</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">39\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">37\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">77\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">74\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Interest on lease liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total lease costs</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">486\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">472\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">965\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">941\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Refer to Note 5, Property and Equipment, for information on financing leases.</span></div>","language":"en-us"}]},{"name":"rpt:f-644","factDimensions":{"xbrl:concept":"us-gaap:LesseeLeasesPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The Company accounts for its leases under FASB ASC Topic 842, Leases. Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use (\"ROU\") asset and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease, if applicable, or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term.","language":"en-us"}]},{"name":"rpt:f-645","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"454000","decimals":-3}]},{"name":"rpt:f-646","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"454000","decimals":-3}]},{"name":"rpt:f-647","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"907000","decimals":-3}]},{"name":"rpt:f-648","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"907000","decimals":-3}]},{"name":"rpt:f-649","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-650","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-651","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"38000","decimals":-3}]},{"name":"rpt:f-652","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"38000","decimals":-3}]},{"name":"rpt:f-653","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"422000","decimals":-3}]},{"name":"rpt:f-654","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"422000","decimals":-3}]},{"name":"rpt:f-655","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"843000","decimals":-3}]},{"name":"rpt:f-656","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"843000","decimals":-3}]},{"name":"rpt:f-657","factDimensions":{"xbrl:concept":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-108000","decimals":-3}]},{"name":"rpt:f-658","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-16000","decimals":-3}]},{"name":"rpt:f-659","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-101000","decimals":-3}]},{"name":"rpt:f-660","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-661","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-662","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-663","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-664","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-665","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4348000","decimals":-3}]},{"name":"rpt:f-666","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5080000","decimals":-3}]},{"name":"rpt:f-667","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1525000","decimals":-3}]},{"name":"rpt:f-668","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1471000","decimals":-3}]},{"name":"rpt:f-669","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3744000","decimals":-3}]},{"name":"rpt:f-670","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4634000","decimals":-3}]},{"name":"rpt:f-671","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P3Y3M3D"}]},{"name":"rpt:f-672","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0583","decimals":4}]},{"name":"rpt:f-673","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y2M26D"}]},{"name":"rpt:f-674","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2024-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0588","decimals":4}]},{"name":"rpt:f-675","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2026 (remaining)</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,482\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,869\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,816\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2029</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,364\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,531\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(4,262)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,269\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-676","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1482000","decimals":-3}]},{"name":"rpt:f-677","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2869000","decimals":-3}]},{"name":"rpt:f-678","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2816000","decimals":-3}]},{"name":"rpt:f-679","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2364000","decimals":-3}]},{"name":"rpt:f-680","factDimensions":{"xbrl:concept":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-681","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9531000","decimals":-3}]},{"name":"rpt:f-682","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4262000","decimals":-3}]},{"name":"rpt:f-683","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5269000","decimals":-3}]},{"name":"rpt:f-684","factDimensions":{"xbrl:concept":"us-gaap:LeaseCostTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The composition of total lease cost for three and six months ended October 31, 2025 and 2024 were as follows (in thousands): </span></div><div><span><br/></span></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.929%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:5.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:28.915%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.403%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.157%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.982%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.855%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:13.988%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Three Months Ended October 31,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Six Months Ended October 31,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2024</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease costs</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">445\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">432\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">885\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">861\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease costs:</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Amortization of leased assets</span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">39\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">37\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">77\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">74\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Interest on lease liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total lease costs</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">486\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">472\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">965\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">941\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-685","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"445000","decimals":-3}]},{"name":"rpt:f-686","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"432000","decimals":-3}]},{"name":"rpt:f-687","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"885000","decimals":-3}]},{"name":"rpt:f-688","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"861000","decimals":-3}]},{"name":"rpt:f-689","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39000","decimals":-3}]},{"name":"rpt:f-690","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"37000","decimals":-3}]},{"name":"rpt:f-691","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-692","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"74000","decimals":-3}]},{"name":"rpt:f-693","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2000","decimals":-3}]},{"name":"rpt:f-694","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-695","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-696","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6000","decimals":-3}]},{"name":"rpt:f-697","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"486000","decimals":-3}]},{"name":"rpt:f-698","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"472000","decimals":-3}]},{"name":"rpt:f-699","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"965000","decimals":-3}]},{"name":"rpt:f-700","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"941000","decimals":-3}]},{"name":"rpt:f-701","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Related Party Transactions<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Related party transactions include transactions between the Company and its shareholders, management, or affiliates.\u00a0\u00a0The following transactions were in the normal course of operations and were measured and recorded at the exchange amount, which is the amount of consideration established and agreed to by the parties.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Consulting Services</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During the three months ended October 31, 2025 and 2024, the Company recognized $0 and $6,000, respectively, for consulting services provided by an affiliate of a Board member, unrelated to his duty as a Board member. During the six months ended October 31, 2025 and 2024, the Company recognized $0 and $15,000, respectively, for consulting services provided by an affiliate of a Board member, unrelated to his duty as a Board member. </span></div> Such amounts are included in general and administrative expenses in the accompanying condensed consolidated statements of operations. As of October\u00a031, 2025, $0 was due to this related party.","language":"en-us"}]},{"name":"rpt:f-702","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-703","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"6000","decimals":-3}]},{"name":"rpt:f-704","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-705","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"15000","decimals":-3}]},{"name":"rpt:f-706","factDimensions":{"xbrl:concept":"us-gaap:OtherReceivables","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:RelatedPartyTransactionAxis":"us-gaap:RelatedPartyMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-707","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Commitments and Contingencies<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Legal Matters</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company is not currently party to any legal matters to its knowledge. The Company is not aware of any other matters that would have a material impact on the Company\u2019s financial position or results of operations.</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Royalties</span></div>The Company contracts with third-party vendors to license tumor samples for development into PDX models and use in our pharmacology TOS business. These types of arrangements have an upfront fee ranging from nil to $30,000 per tumor sample depending on the successful growth of the tumor model and ability to develop them into a sellable product. The upfront costs are expensed as incurred. In addition, under certain agreements, for a limited period of time, the Company is subject to royalty payments if the licensed tumor models are used for sale in our TOS business, ranging from 2% to 20% of the contract price after recouping certain initiation costs. Some of these arrangements also set forth an annual minimum royalty due regardless of tumor models used for sale. For the three months ended October 31, 2025 and 2024, we have recognized approximately $134,000 and $104,000, respectively, in expense related to these royalty arrangements. For the six months ended October 31, 2025 and 2024, we have recognized approximately $173,000 and $185,000, respectively, in expense related to these royalty arrangements.","language":"en-us"}]},{"name":"rpt:f-708","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-709","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"30000"}]},{"name":"rpt:f-710","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0.02"}]},{"name":"rpt:f-711","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"0.20"}]},{"name":"rpt:f-712","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"134000","decimals":-3}]},{"name":"rpt:f-713","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2024-08-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"104000","decimals":-3}]},{"name":"rpt:f-714","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2025-05-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"173000","decimals":-3}]},{"name":"rpt:f-715","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2024-05-01T00:00:00/2024-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"185000","decimals":-3}]},{"name":"rpt:f-716","factDimensions":{"xbrl:concept":"ecd:NonRule10b51ArrTrmntdFlag","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-717","factDimensions":{"xbrl:concept":"ecd:NonRule10b51ArrAdoptedFlag","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-718","factDimensions":{"xbrl:concept":"ecd:Rule10b51ArrAdoptedFlag","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-719","factDimensions":{"xbrl:concept":"ecd:Rule10b51ArrTrmntdFlag","xbrl:period":"2025-08-01T00:00:00/2025-11-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]}]}}