0001036262-25-000023.txt : 20250807 0001036262-25-000023.hdr.sgml : 20250807 20250807162118 ACCESSION NUMBER: 0001036262-25-000023 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 110 CONFORMED PERIOD OF REPORT: 20250630 FILED AS OF DATE: 20250807 DATE AS OF CHANGE: 20250807 FILER: COMPANY DATA: COMPANY CONFORMED NAME: INTEST CORP CENTRAL INDEX KEY: 0001036262 STANDARD INDUSTRIAL CLASSIFICATION: INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS [3825] ORGANIZATION NAME: 08 Industrial Applications and Services EIN: 222370659 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36117 FILM NUMBER: 251194416 BUSINESS ADDRESS: STREET 1: 804 EAST GATE DR., SUITE 200 CITY: MT. LAUREL STATE: NJ ZIP: 08054 BUSINESS PHONE: 856-505-8800 MAIL ADDRESS: STREET 1: 804 EAST GATE DR., SUITE 200 CITY: MT. LAUREL STATE: NJ ZIP: 08054 10-Q 1 intt-20250630.htm 10-Q intt-20250630
0001036262falseQ22025--12-31P1YP1Y3xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesintt:segmentxbrli:pureiso4217:EURutr:sqftintt:paymentiso4217:CAD00010362622025-01-012025-06-3000010362622025-08-0100010362622025-06-3000010362622024-12-3100010362622025-04-012025-06-3000010362622024-04-012024-06-300001036262intt:AlfamationMember2025-01-012025-06-3000010362622024-01-012024-06-300001036262us-gaap:CommonStockMember2024-12-310001036262us-gaap:TreasuryStockCommonMember2024-12-310001036262us-gaap:AdditionalPaidInCapitalMember2024-12-310001036262us-gaap:RetainedEarningsMember2024-12-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-12-310001036262us-gaap:RetainedEarningsMember2025-01-012025-03-3100010362622025-01-012025-03-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-01-012025-03-310001036262us-gaap:AdditionalPaidInCapitalMember2025-01-012025-03-310001036262us-gaap:CommonStockMember2025-01-012025-03-310001036262us-gaap:TreasuryStockCommonMember2025-01-012025-03-310001036262us-gaap:CommonStockMember2025-03-310001036262us-gaap:TreasuryStockCommonMember2025-03-310001036262us-gaap:AdditionalPaidInCapitalMember2025-03-310001036262us-gaap:RetainedEarningsMember2025-03-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-03-3100010362622025-03-310001036262us-gaap:RetainedEarningsMember2025-04-012025-06-300001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-04-012025-06-300001036262us-gaap:AdditionalPaidInCapitalMember2025-04-012025-06-300001036262us-gaap:CommonStockMember2025-04-012025-06-300001036262us-gaap:TreasuryStockCommonMember2025-04-012025-06-300001036262us-gaap:CommonStockMember2025-06-300001036262us-gaap:TreasuryStockCommonMember2025-06-300001036262us-gaap:AdditionalPaidInCapitalMember2025-06-300001036262us-gaap:RetainedEarningsMember2025-06-300001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-06-300001036262us-gaap:CommonStockMember2023-12-310001036262us-gaap:TreasuryStockCommonMember2023-12-310001036262us-gaap:AdditionalPaidInCapitalMember2023-12-310001036262us-gaap:RetainedEarningsMember2023-12-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-3100010362622023-12-310001036262us-gaap:RetainedEarningsMember2024-01-012024-03-3100010362622024-01-012024-03-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001036262us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001036262us-gaap:CommonStockMember2024-01-012024-03-310001036262us-gaap:TreasuryStockCommonMember2024-01-012024-03-310001036262us-gaap:CommonStockMember2024-03-310001036262us-gaap:TreasuryStockCommonMember2024-03-310001036262us-gaap:AdditionalPaidInCapitalMember2024-03-310001036262us-gaap:RetainedEarningsMember2024-03-310001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-3100010362622024-03-310001036262us-gaap:RetainedEarningsMember2024-04-012024-06-300001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-04-012024-06-300001036262us-gaap:AdditionalPaidInCapitalMember2024-04-012024-06-300001036262us-gaap:CommonStockMember2024-04-012024-06-300001036262us-gaap:TreasuryStockCommonMember2024-04-012024-06-300001036262us-gaap:CommonStockMember2024-06-300001036262us-gaap:TreasuryStockCommonMember2024-06-300001036262us-gaap:AdditionalPaidInCapitalMember2024-06-300001036262us-gaap:RetainedEarningsMember2024-06-300001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-3000010362622024-06-300001036262srt:MinimumMember2025-06-300001036262srt:MaximumMember2025-06-300001036262intt:CityOfRochesterAndStateOfNewYorkMember2022-03-310001036262intt:CityOfRochesterAndStateOfNewYorkMember2025-06-300001036262srt:MaximumMemberus-gaap:EmployeeStockOptionMember2025-01-012025-06-300001036262us-gaap:EmployeeStockOptionMember2025-01-012025-06-300001036262us-gaap:RestrictedStockMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2025-01-012025-06-300001036262us-gaap:RestrictedStockMember2025-01-012025-06-300001036262us-gaap:RestrictedStockMemberus-gaap:ShareBasedPaymentArrangementNonemployeeMember2025-01-012025-06-300001036262intt:AlfamationMember2024-03-122024-03-120001036262intt:AlfamationMember2024-06-012024-06-300001036262intt:AlfamationMember2024-03-120001036262intt:AlfamationMember2024-10-012024-12-310001036262intt:AlfamationMemberus-gaap:CustomerRelationshipsMember2024-03-122024-03-120001036262intt:AlfamationMemberus-gaap:TechnologyBasedIntangibleAssetsMember2024-03-122024-03-120001036262us-gaap:TradeNamesMemberintt:AlfamationMember2024-03-122024-03-120001036262intt:AlfamationMember2024-01-012024-06-300001036262us-gaap:MachineryAndEquipmentMember2025-06-300001036262us-gaap:MachineryAndEquipmentMember2024-12-310001036262us-gaap:LeaseholdImprovementsMember2025-06-300001036262us-gaap:LeaseholdImprovementsMember2024-12-310001036262intt:ElectronicTestMember2025-06-300001036262intt:ElectronicTestMember2024-12-310001036262intt:EnvironmentalTechnologiesMember2025-06-300001036262intt:EnvironmentalTechnologiesMember2024-12-310001036262intt:ProcessTechnologiesMember2025-06-300001036262intt:ProcessTechnologiesMember2024-12-310001036262us-gaap:CustomerRelationshipsMember2025-06-300001036262us-gaap:PatentedTechnologyMember2025-06-300001036262us-gaap:PatentsMember2025-06-300001036262intt:CustomerBacklogMember2025-06-300001036262us-gaap:ComputerSoftwareIntangibleAssetMember2025-06-300001036262us-gaap:TradeNamesMember2025-06-300001036262us-gaap:TrademarksMember2025-06-300001036262us-gaap:CustomerRelationshipsMember2024-12-310001036262us-gaap:PatentedTechnologyMember2024-12-310001036262us-gaap:PatentsMember2024-12-310001036262intt:CustomerBacklogMember2024-12-310001036262us-gaap:ComputerSoftwareIntangibleAssetMember2024-12-310001036262us-gaap:TradeNamesMember2024-12-310001036262us-gaap:TrademarksMember2024-12-310001036262intt:PaymentsBasedOnPerformanceMetricsMemberintt:AcculogicMemberus-gaap:FairValueMeasurementsRecurringMember2021-12-210001036262intt:PaymentsBasedOnPerformanceMetricsMemberintt:AcculogicMemberus-gaap:FairValueMeasurementsRecurringMember2021-12-212021-12-210001036262intt:PaymentsBasedOnPerformanceMetricsMemberintt:AcculogicMemberus-gaap:FairValueMeasurementsRecurringMember2025-06-300001036262intt:PaymentsBasedOnPerformanceMetricsMemberintt:AcculogicMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001036262intt:PaymentsBasedOnPerformanceMetricsMemberintt:AcculogicMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001036262us-gaap:InterestRateSwapMember2025-06-300001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2025-06-300001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2025-06-300001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2025-06-300001036262intt:AcculogicMember2025-06-300001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel1Member2025-06-300001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel2Member2025-06-300001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2025-06-300001036262us-gaap:InterestRateSwapMember2024-12-310001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2024-12-310001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2024-12-310001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2024-12-310001036262intt:AcculogicMember2024-12-310001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel1Member2024-12-310001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel2Member2024-12-310001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2024-12-310001036262intt:ContingentConsiderationLiabilitiesMember2025-03-310001036262intt:ContingentConsiderationLiabilitiesMember2024-03-310001036262intt:ContingentConsiderationLiabilitiesMember2024-12-310001036262intt:ContingentConsiderationLiabilitiesMember2023-12-310001036262intt:ContingentConsiderationLiabilitiesMember2025-04-012025-06-300001036262intt:ContingentConsiderationLiabilitiesMember2024-04-012024-06-300001036262intt:ContingentConsiderationLiabilitiesMember2025-01-012025-06-300001036262intt:ContingentConsiderationLiabilitiesMember2024-01-012024-06-300001036262intt:ContingentConsiderationLiabilitiesMember2025-06-300001036262intt:ContingentConsiderationLiabilitiesMember2024-06-300001036262srt:MinimumMember2025-01-012025-06-300001036262srt:MaximumMember2025-01-012025-06-300001036262intt:WarehouseAndOfficeSpaceMemberintt:AlfamationMember2025-06-300001036262intt:WarehouseAndOfficeSpaceMemberintt:AlfamationMember2024-03-122024-03-120001036262us-gaap:LetterOfCreditMember2025-01-012025-06-300001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2025-01-012025-06-300001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2025-06-300001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2024-12-310001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2025-01-012025-06-300001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2025-06-300001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2024-12-310001036262us-gaap:LetterOfCreditMember2025-06-300001036262us-gaap:LetterOfCreditMember2024-12-310001036262intt:MTBankMemberintt:AmendedLoanAgreementMemberintt:TermNoteMember2021-10-150001036262us-gaap:RevolvingCreditFacilityMemberintt:MTBankMemberintt:October2021AgreementMember2021-10-150001036262intt:MTBankMemberintt:AmendedLoanAgreementMemberintt:TermNoteMember2025-06-300001036262intt:AmendedLoanAgreementMemberintt:MTBankMember2025-06-300001036262intt:MTBankMemberintt:AmendedLoanAgreementMemberintt:TermNoteMember2021-10-152021-10-150001036262us-gaap:RevolvingCreditFacilityMemberintt:MTBankMemberintt:October2021AgreementMember2021-10-152021-10-150001036262intt:October2021AgreementMemberintt:MTBankMember2021-10-150001036262intt:October2021AgreementMemberintt:MTBankMember2022-09-200001036262intt:October2021AgreementMemberintt:MTBankMember2025-06-300001036262intt:MTBankMemberintt:October2021AgreementMemberintt:TermNoteMember2021-10-282021-10-280001036262us-gaap:RevolvingCreditFacilityMemberintt:MTBankMemberintt:October2021AgreementMember2021-10-282021-10-280001036262intt:MTBankMemberintt:October2021AgreementMemberintt:TermNoteMember2021-10-280001036262intt:MTBankMemberintt:October2021AgreementMemberintt:TermNoteMember2021-12-292021-12-290001036262intt:MTBankMemberintt:October2021AgreementMemberintt:TermNoteMember2025-06-300001036262intt:AlfamationMember2025-06-300001036262intt:AlfamationMember2025-06-300001036262intt:DebtInstrumentLongtermFixedInterestRateDebtMemberintt:AlfamationMember2025-06-300001036262intt:DebtInstrumentShorttermVariableInterestRateDebtMemberintt:AlfamationMember2025-06-300001036262intt:EndUserMember2025-04-012025-06-300001036262intt:EndUserMember2024-04-012024-06-300001036262intt:EndUserMember2025-01-012025-06-300001036262intt:EndUserMember2024-01-012024-06-300001036262intt:OemIntegratorsAndDistributorMember2025-04-012025-06-300001036262intt:OemIntegratorsAndDistributorMember2024-04-012024-06-300001036262intt:OemIntegratorsAndDistributorMember2025-01-012025-06-300001036262intt:OemIntegratorsAndDistributorMember2024-01-012024-06-300001036262intt:ThermalTestingProductsMember2025-04-012025-06-300001036262intt:ThermalTestingProductsMember2024-04-012024-06-300001036262intt:ThermalTestingProductsMember2025-01-012025-06-300001036262intt:ThermalTestingProductsMember2024-01-012024-06-300001036262intt:ThermalProcessMember2025-04-012025-06-300001036262intt:ThermalProcessMember2024-04-012024-06-300001036262intt:ThermalProcessMember2025-01-012025-06-300001036262intt:ThermalProcessMember2024-01-012024-06-300001036262intt:SemiconductorProductionTestProductsMember2025-04-012025-06-300001036262intt:SemiconductorProductionTestProductsMember2024-04-012024-06-300001036262intt:SemiconductorProductionTestProductsMember2025-01-012025-06-300001036262intt:SemiconductorProductionTestProductsMember2024-01-012024-06-300001036262intt:VideoImagingMember2025-04-012025-06-300001036262intt:VideoImagingMember2024-04-012024-06-300001036262intt:VideoImagingMember2025-01-012025-06-300001036262intt:VideoImagingMember2024-01-012024-06-300001036262intt:FlyingProbeAndIncircuitTestersMember2025-04-012025-06-300001036262intt:FlyingProbeAndIncircuitTestersMember2024-04-012024-06-300001036262intt:FlyingProbeAndIncircuitTestersMember2025-01-012025-06-300001036262intt:FlyingProbeAndIncircuitTestersMember2024-01-012024-06-300001036262intt:AlfamationMember2025-04-012025-06-300001036262intt:AlfamationMember2024-04-012024-06-300001036262intt:AlfamationMember2025-01-012025-06-300001036262intt:AlfamationMember2024-01-012024-06-300001036262intt:ServiceAndOtherProductsMember2025-04-012025-06-300001036262intt:ServiceAndOtherProductsMember2024-04-012024-06-300001036262intt:ServiceAndOtherProductsMember2025-01-012025-06-300001036262intt:ServiceAndOtherProductsMember2024-01-012024-06-300001036262intt:SemiconductorMarketMember2025-04-012025-06-300001036262intt:SemiconductorMarketMember2024-04-012024-06-300001036262intt:SemiconductorMarketMember2025-01-012025-06-300001036262intt:SemiconductorMarketMember2024-01-012024-06-300001036262intt:AutomotiveMember2025-04-012025-06-300001036262intt:AutomotiveMember2024-04-012024-06-300001036262intt:AutomotiveMember2025-01-012025-06-300001036262intt:AutomotiveMember2024-01-012024-06-300001036262intt:DefenseAerospaceMember2025-04-012025-06-300001036262intt:DefenseAerospaceMember2024-04-012024-06-300001036262intt:DefenseAerospaceMember2025-01-012025-06-300001036262intt:DefenseAerospaceMember2024-01-012024-06-300001036262intt:IndustrialMarketMember2025-04-012025-06-300001036262intt:IndustrialMarketMember2024-04-012024-06-300001036262intt:IndustrialMarketMember2025-01-012025-06-300001036262intt:IndustrialMarketMember2024-01-012024-06-300001036262intt:LifeSciencesMember2025-04-012025-06-300001036262intt:LifeSciencesMember2024-04-012024-06-300001036262intt:LifeSciencesMember2025-01-012025-06-300001036262intt:LifeSciencesMember2024-01-012024-06-300001036262intt:SecurityMember2025-04-012025-06-300001036262intt:SecurityMember2024-04-012024-06-300001036262intt:SecurityMember2025-01-012025-06-300001036262intt:SecurityMember2024-01-012024-06-300001036262intt:OtherMultiMarketsMember2025-04-012025-06-300001036262intt:OtherMultiMarketsMember2024-04-012024-06-300001036262intt:OtherMultiMarketsMember2025-01-012025-06-300001036262intt:OtherMultiMarketsMember2024-01-012024-06-300001036262intt:CustomerAMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2025-04-012025-06-300001036262intt:CustomerAMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2025-01-012025-06-300001036262intt:CustomerAMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2024-04-012024-06-300001036262intt:CustomerAMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2024-01-012024-06-3000010362622025-03-050001036262intt:The2023StockIncentivePlanMember2025-06-300001036262intt:The2023StockIncentivePlanMember2023-06-210001036262us-gaap:CostOfSalesMember2025-04-012025-06-300001036262us-gaap:CostOfSalesMember2024-04-012024-06-300001036262us-gaap:CostOfSalesMember2025-01-012025-06-300001036262us-gaap:CostOfSalesMember2024-01-012024-06-300001036262us-gaap:SellingAndMarketingExpenseMember2025-04-012025-06-300001036262us-gaap:SellingAndMarketingExpenseMember2024-04-012024-06-300001036262us-gaap:SellingAndMarketingExpenseMember2025-01-012025-06-300001036262us-gaap:SellingAndMarketingExpenseMember2024-01-012024-06-300001036262us-gaap:ResearchAndDevelopmentExpenseMember2025-04-012025-06-300001036262us-gaap:ResearchAndDevelopmentExpenseMember2024-04-012024-06-300001036262us-gaap:ResearchAndDevelopmentExpenseMember2025-01-012025-06-300001036262us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-06-300001036262us-gaap:GeneralAndAdministrativeExpenseMember2025-04-012025-06-300001036262us-gaap:GeneralAndAdministrativeExpenseMember2024-04-012024-06-300001036262us-gaap:GeneralAndAdministrativeExpenseMember2025-01-012025-06-300001036262us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-06-300001036262intt:The2023StockIncentivePlanMember2025-01-012025-06-300001036262us-gaap:EmployeeStockOptionMember2024-01-012024-06-300001036262us-gaap:RestrictedStockMember2024-12-310001036262us-gaap:RestrictedStockMember2025-06-300001036262us-gaap:RestrictedStockMember2025-04-012025-06-300001036262us-gaap:RestrictedStockMember2024-04-012024-06-300001036262us-gaap:RestrictedStockMember2024-01-012024-06-300001036262intt:PresidentOfProcessTechnologiesMemberintt:PerformancebasedRestrictedStockMember2024-01-162024-01-160001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MinimumMemberintt:PresidentOfProcessTechnologiesMember2024-01-162024-01-160001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MaximumMemberintt:PresidentOfProcessTechnologiesMember2024-01-162024-01-160001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMemberintt:PresidentOfProcessTechnologiesMember2025-01-012025-06-3000010362622024-03-062024-03-060001036262intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMemberintt:PerformancebasedRestrictedStockMember2024-03-062024-03-060001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MinimumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember2024-03-062024-03-060001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MaximumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember2024-03-062024-03-060001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember2025-01-012025-06-3000010362622025-03-172025-03-170001036262intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMemberintt:PerformancebasedRestrictedStockMember2025-03-172025-03-170001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MinimumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember2025-03-172025-03-170001036262intt:PerformancebasedRestrictedStockMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MaximumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember2025-03-172025-03-170001036262intt:SeniorManagementMemberMemberus-gaap:PerformanceSharesMember2021-10-012021-10-010001036262intt:SeniorManagementMemberMember2024-01-012024-12-310001036262intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberus-gaap:PerformanceSharesMember2022-03-092022-03-090001036262intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2024-01-012024-12-310001036262intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMemberus-gaap:PerformanceSharesMember2025-06-300001036262us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MinimumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember2023-03-082023-03-080001036262us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:MaximumMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember2023-03-082023-03-080001036262us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember2025-01-012025-03-310001036262us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMemberintt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember2025-01-012025-06-300001036262intt:PresidentOfEnvironmentalTechnologiesMemberus-gaap:PerformanceSharesMember2023-05-082023-05-080001036262intt:PresidentOfEnvironmentalTechnologiesMemberus-gaap:PerformanceSharesMember2024-03-062024-03-060001036262intt:PresidentOfEnvironmentalTechnologiesMemberus-gaap:PerformanceSharesMember2025-03-172025-03-170001036262intt:PresidentOfEnvironmentalTechnologiesMemberintt:May8th2023Member2025-01-012025-03-310001036262intt:PresidentOfEnvironmentalTechnologiesMemberintt:March6th2024Member2025-01-012025-03-310001036262intt:PresidentOfEnvironmentalTechnologiesMemberintt:March17th2025Member2025-01-012025-03-310001036262intt:PresidentOfEnvironmentalTechnologiesMemberus-gaap:PerformanceSharesMember2025-06-112025-06-110001036262us-gaap:PerformanceSharesMember2024-12-310001036262us-gaap:PerformanceSharesMember2025-01-012025-06-300001036262us-gaap:PerformanceSharesMember2025-06-300001036262us-gaap:PerformanceSharesMember2025-04-012025-06-300001036262us-gaap:PerformanceSharesMember2024-04-012024-06-300001036262us-gaap:PerformanceSharesMember2024-01-012024-06-300001036262us-gaap:RestrictedStockUnitsRSUMember2024-12-310001036262us-gaap:RestrictedStockUnitsRSUMember2025-01-012025-06-300001036262us-gaap:RestrictedStockUnitsRSUMember2025-06-300001036262intt:EmployeeStockPurchasePlanMember2025-01-012025-06-300001036262intt:EmployeeStockPurchasePlanMember2021-06-230001036262intt:EmployeeStockPurchasePlanMember2025-04-012025-06-300001036262intt:EmployeeStockPurchasePlanMember2024-04-012024-06-300001036262intt:EmployeeStockPurchasePlanMember2024-01-012024-06-300001036262intt:EmployeeStockPurchasePlanMember2025-06-300001036262intt:EmployeeStockPurchasePlanMember2025-03-310001036262intt:EmployeeStockPurchasePlanMember2024-06-300001036262intt:EmployeeStockPurchasePlanMember2024-03-310001036262us-gaap:OneTimeTerminationBenefitsMember2025-06-300001036262us-gaap:OtherRestructuringMembersrt:MinimumMember2025-06-300001036262us-gaap:OtherRestructuringMembersrt:MaximumMember2025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberus-gaap:EmployeeSeveranceMember2025-04-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberus-gaap:EmployeeSeveranceMember2025-01-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberintt:RetentionMember2025-04-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberintt:RetentionMember2025-01-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberintt:PayrollTaxesAndPayrollRelatedMember2025-04-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberintt:PayrollTaxesAndPayrollRelatedMember2025-01-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberus-gaap:OtherRestructuringMember2025-04-012025-06-300001036262intt:VideologyConsolidationMemberintt:ProcessTechnologiesMemberus-gaap:OtherRestructuringMember2025-01-012025-06-300001036262intt:ProcessTechnologiesMemberintt:VideologyConsolidationMember2025-04-012025-06-300001036262intt:ProcessTechnologiesMemberintt:VideologyConsolidationMember2025-01-012025-06-300001036262intt:VideologyConsolidationMemberintt:CorporatePortionMember2025-04-012025-06-300001036262intt:VideologyConsolidationMemberintt:CorporatePortionMember2024-04-012024-06-300001036262intt:VideologyConsolidationMember2025-04-012025-06-300001036262intt:VideologyConsolidationMember2024-04-012024-06-300001036262intt:EnvironmentalTransitionMemberintt:EnvironmentalTechnologiesMemberus-gaap:EmployeeSeveranceMember2025-04-012025-06-300001036262intt:EnvironmentalTransitionMemberintt:EnvironmentalTechnologiesMemberus-gaap:EmployeeSeveranceMember2025-01-012025-06-300001036262intt:EnvironmentalTransitionMemberintt:EnvironmentalTechnologiesMemberintt:PayrollTaxesAndPayrollRelatedMember2025-04-012025-06-300001036262intt:EnvironmentalTransitionMemberintt:EnvironmentalTechnologiesMemberintt:PayrollTaxesAndPayrollRelatedMember2025-01-012025-06-300001036262intt:EnvironmentalTechnologiesMemberintt:EnvironmentalTransitionMember2025-04-012025-06-300001036262intt:EnvironmentalTechnologiesMemberintt:EnvironmentalTransitionMember2025-01-012025-06-300001036262intt:EnvironmentalTransitionMemberintt:CorporatePortionMember2025-04-012025-06-300001036262intt:EnvironmentalTransitionMemberintt:CorporatePortionMember2024-04-012024-06-300001036262intt:EnvironmentalTransitionMember2025-04-012025-06-300001036262intt:EnvironmentalTransitionMember2024-04-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2025-04-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2025-04-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2025-04-012025-06-300001036262us-gaap:CorporateNonSegmentMember2025-04-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2025-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2025-06-300001036262us-gaap:CorporateNonSegmentMember2025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2024-04-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2024-04-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2024-04-012024-06-300001036262us-gaap:CorporateNonSegmentMember2024-04-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2024-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2024-06-300001036262us-gaap:CorporateNonSegmentMember2024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2025-01-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2025-01-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2025-01-012025-06-300001036262us-gaap:CorporateNonSegmentMember2025-01-012025-06-300001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2024-01-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2024-01-012024-06-300001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2024-01-012024-06-300001036262us-gaap:CorporateNonSegmentMember2024-01-012024-06-300001036262country:US2025-04-012025-06-300001036262country:US2024-04-012024-06-300001036262country:US2025-01-012025-06-300001036262country:US2024-01-012024-06-300001036262us-gaap:NonUsMember2025-04-012025-06-300001036262us-gaap:NonUsMember2024-04-012024-06-300001036262us-gaap:NonUsMember2025-01-012025-06-300001036262us-gaap:NonUsMember2024-01-012024-06-300001036262country:US2025-06-300001036262country:US2024-12-310001036262us-gaap:NonUsMember2025-06-300001036262us-gaap:NonUsMember2024-12-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended June 30, 2025 or
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from ___________ to ___________
Commission File Number 001-36117
InTest Corporation
(Exact Name of Registrant as Specified in its Charter)
Delaware
22-2370659
(State or other jurisdiction of incorporation or organization)(I.R.S. Employer Identification Number)
804 East Gate Drive, Suite 200
Mt. Laurel, New Jersey 08054
(Address of principal executive offices, including zip code)
(856) 505-8800
(Registrant's Telephone Number, including Area Code)
Securities registered pursuant to Section 12(b) of the Act:
Title of Each ClassTrading SymbolName of Each Exchange on Which Registered
Common Stock, par value $0.01 per shareINTTNYSE American
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.
Yes ☒ No ☐
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).
Yes ☒ No ☐
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of "large accelerated filer," "accelerated filer" "smaller reporting company," and "emerging growth company" in Rule 12b-2 of the Exchange Act.
Large accelerated filerAccelerated filer
Non-accelerated filer Smaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).
Yes No ☒
Number of shares of Common Stock, $0.01 par value, outstanding as of the close of business on August 1, 2025: 12,477,676


InTest CORPORATION
TABLE OF CONTENTS
Page
-2-

PART I. FINANCIAL INFORMATION
Item 1.FINANCIAL STATEMENTS
InTest CORPORATION
CONSOLIDATED BALANCE SHEETS

June 30,December 31,
20252024
(In thousands, except share and per share data)(Unaudited)
ASSETS
Current assets:
Cash and cash equivalents$19,248 $19,830 
Trade accounts receivable, net of allowance for credit losses of $464 and $423, respectively
23,349 29,495 
Inventories27,610 26,837 
Prepaid expenses and other current assets4,640 2,650 
Total current assets74,847 78,812 
Property and equipment, net of accumulated depreciation of $9,513 and $8,830, respectively
4,677 4,457 
Right-of-use assets, net10,071 10,767 
Goodwill32,437 30,744 
Intangible assets, net26,647 26,376 
Deferred tax assets 67 
Other assets974 1,065 
Total assets$149,653 $152,288 
LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
Current portion of long-term debt$6,426 $7,494 
Current portion of operating lease liabilities2,100 1,989 
Accounts payable6,981 7,991 
Customer deposits and deferred revenue5,598 4,989 
Accrued expenses and other current liabilities9,853 9,485 
Total current liabilities30,958 31,948 
Operating lease liabilities, net of current portion8,316 9,021 
Long-term debt, net of current portion3,667 7,538 
Contingent consideration, net of current portion441 825 
Deferred revenue, net of current portion1,367 1,432 
Deferred tax liabilities525  
Other liabilities1,787 1,734 
Total liabilities47,061 52,498 
Commitments and Contingencies
Stockholders’ equity:
Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding
  
Common stock, $0.01 par value; 20,000,000.00 shares authorized; 12,559,753 and 12,457,658 shares issued, respectively; 12,477,676 and 12,378,276 shares outstanding, respectively
125 124 
Additional paid-in capital58,604 57,658 
Retained earnings42,255 45,087 
Accumulated other comprehensive earnings (loss)2,567 (2,137)
Treasury stock, at cost; 82,077 and 79,382 shares, respectively
(959)(942)
Total stockholders’ equity102,592 99,790 
Total liabilities and stockholders’ equity$149,653 $152,288 
See accompanying Notes to Consolidated Financial Statements.
-1-

InTest CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(Unaudited)
Three Months EndedSix Months Ended
June 30,June 30,
(In thousands, except share and per share data)2025202420252024
Revenue$28,130 $33,991 $54,767 $63,815 
Cost of revenue16,157 20,194 31,738 36,942 
Gross profit11,973 13,797 23,029 26,873 
Operating expenses:
Selling expense3,829 4,105 8,376 8,695 
Engineering and product development expense2,245 2,218 4,693 4,200 
General and administrative expense5,760 6,241 11,576 11,658 
Amortization of acquired intangible assets850 897 1,663 1,492 
Restructuring costs216  529  
Total operating expenses12,900 13,461 26,837 26,045 
Operating (loss) income(927)336 (3,808)828 
Interest expense(119)(253)(271)(393)
Other income463 213 707 648 
(Loss) earnings before income tax (benefit) expense(583)296 (3,372)1,083 
Income tax (benefit) expense(80)66 (540)191 
Net (loss) earnings$(503)$230 $(2,832)$892 
(Loss) earnings per common share:
Basic$(0.04)$0.02 $(0.23)$0.07 
Diluted$(0.04)$0.02 $(0.23)$0.07 
Weighted average common shares outstanding:
Basic12,215,25812,234,59912,197,33812,130,480
Diluted12,215,25812,330,28012,197,33812,244,289
See accompanying Notes to Consolidated Financial Statements.
- 2 -

InTest CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS)
(Unaudited)
Three Months EndedSix Months Ended
June 30,June 30,
2025202420252024
(In thousands)
Net (loss) earnings$(503)$230 $(2,832)$892 
Unrealized loss on interest rate swap agreement(24)(44)(59)(58)
Foreign currency translation adjustments3,266 (697)4,763 (786)
Total other comprehensive earnings (loss)3,242 (741)4,704 (844)
Comprehensive earnings (loss)$2,739 $(511)$1,872 $48 
See accompanying Notes to Consolidated Financial Statements.
- 3 -

InTest CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(Unaudited)
Common StockTreasury StockAdditional
Paid-in
Capital
Retained
Earnings
Accumulated
Other
Comprehensive
Earnings (Loss)
Total
Stockholders’Equity
(In thousands, except share data)SharesAmountSharesAmount
Balance, January 1, 202512,457,658 $124 79,382 $(942)$57,658 $45,087 $(2,137)$99,790 
Net loss— — — — — (2,329)— (2,329)
Other comprehensive earnings— — — — — — 1,462 1,462 
Amortization of deferred compensation related to stock-based awards— — — — 423 — — 423 
Issuance of unvested shares of restricted stock134,196 1 — — (1)— —  
Forfeiture of unvested shares of restricted stock(27,365)— — — — — — — 
Stock options exercised4,925 — — — 18 — — 18 
Shares issued under Employee Stock Purchase Plan5,374 — — — 36 — — 36 
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards
— — 646 (5)— — — (5)
Balance, March 31, 202512,574,788 $125 80,028 $(947)$58,134 $42,758 $(675)$99,395 
Net loss— — — — — (503)— (503)
Other comprehensive earnings— — — — — — 3,242 3,242 
Amortization of deferred compensation related to stock-based awards— — — — 435 — — 435 
Forfeiture of unvested shares of restricted stock(19,627)— — — — — — — 
Shares issued under Employee Stock Purchase Plan4,592 — — — 35 — — 35 
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards
— — 2,049 (12)— — — (12)
Balance, June 30, 202512,559,753 $125 82,077 $(959)$58,604 $42,255 $2,567 $102,592 
See accompanying Notes to Consolidated Financial Statements.
- 4 -

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Continued)
(Unaudited)

Common StockTreasury StockAdditional
Paid-in
Capital
Retained
Earnings
Accumulated
Other
Comprehensive
Earnings (Loss)
Total
Stockholders’Equity
(In thousands, except share data)SharesAmountSharesAmount
Balance, January 1, 202412,241,925 $122 75,758 $(901)$54,450 $42,196 $414 $96,281 
Net earnings— — — — — 662 — 662 
Other comprehensive loss— — — — — — (103)(103)
Amortization of deferred compensation related to stock-based awards— — — — 349 — — 349 
Issuance of shares in connection with acquisition of Alfamation187,432 2 — — 2,084 — — 2,086 
Issuance of unvested shares of restricted stock138,838 1 — — (1)— —  
Forfeitures of unvested shares of restricted stock(11,200)— — — — — — — 
Stock options exercised4,925 — — — 18 — — 18 
Shares issued under Employee Stock Purchase Plan4,104 — — — 54 — — 54 
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards— — 2,757 (30)— — — (30)
Balance, March 31, 202412,566,024 $125 78,515 $(931)$56,954 $42,858 $311 $99,317 
Net earnings— — — — — 230 — 230 
Other comprehensive loss— — — — — — (741)(741)
Amortization of deferred compensation related to stock-based awards— — — — 564 — — 564 
Stock options exercised21,155 1 — — 97 — — 98 
Shares issued under Employee Stock Purchase Plan4,483 — — — 45 — — 45 
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards— — 867 (11)— — — (11)
Balance, June 30, 202412,591,662 $126 79,382 $(942)$57,660 $43,088 $(430)$99,502 
See accompanying Notes to Consolidated Financial Statements.
- 5 -

InTest CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(Unaudited)
Six Months Ended June 30,
(In thousands)20252024
CASH FLOWS FROM OPERATING ACTIVITIES
Net (loss) earnings$(2,832)$892 
Adjustments to reconcile net (loss) earnings to net cash provided (used in) by operating activities:
Depreciation and amortization3,306 2,806 
Provision for excess and obsolete inventory304 306 
Amortization of deferred compensation related to stock-based awards858 913 
Deferred income tax expense205 347 
Other non-cash reconciling items(383)47 
Changes in assets and liabilities:
Trade accounts receivable6,865 (5,693)
Inventories203 1,966 
Prepaid expenses and other current assets(438)1,296 
Other assets(36)(118)
Operating lease liabilities(966)(765)
Accounts payable(898)(1,899)
Customer deposits and deferred revenue272 (861)
Domestic and foreign income taxes payable(883)(851)
Deferred revenue, net of current portion(65)(75)
Accrued expenses and other liabilities(665)(1,326)
Net cash provided by (used in) operating activities4,847 (3,015)
CASH FLOWS FROM INVESTING ACTIVITIES
Acquisition of business, net of cash acquired (18,727)
Purchases of property and equipment(691)(656)
Net cash used in investing activities(691)(19,383)
CASH FLOWS FROM FINANCING ACTIVITIES
(Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings(3,613)1,120 
Repayments of long-term debt(2,050)(3,129)
Proceeds from stock options exercised18 116 
Proceeds from shares sold under Employee Stock Purchase Plan60 84 
Settlement of employee tax liabilities in connection with treasury stock transaction(17)(41)
Net cash used in financing activities(5,602)(1,850)
Effects of exchange rates on cash864 (642)
Net cash used in all activities(582)(24,890)
Cash, cash equivalents and restricted cash at beginning of period19,830 45,260 
Cash and cash equivalents at end of period$19,248 $20,370 
Cash payments for:
Domestic and foreign income taxes$145 $1,153 
Interest266 406 
SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES
Equity issued in conjunction with acquisition of business$ $2,086 
Issuance of unvested shares of restricted stock awards1,039 1,580 
Forfeiture of shares of unvested restricted stock awards(557)(138)
See accompanying Notes to Consolidated Financial Statements.
- 6 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)

(1)    NATURE OF OPERATIONS
InTest Corporation (“InTest,” “we,” “our,” “us” and the “Company”), a Delaware corporation headquartered in Mount Laurel, New Jersey, is a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including semiconductors (“semi”), auto/EV, defense/aerospace, industrial, life sciences, safety/security and other. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.
The consolidated entity is comprised of InTest Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada, Italy and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Italy, Germany, Singapore, Malaysia, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.
Founded in 1981, we completed our initial public offering in June 1997 and currently trade on the NYSE American exchange under the symbol “INTT.”
All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.
The semi market, which includes both the broader semi market, as well as the more specialized automated test equipment (“ATE”) and wafer production sectors within the broader semi market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.
Our Electronic Test segment sells its products to semiconductor manufacturers and third-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“OEM”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and third-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the December 2021 acquisition of Acculogic Inc. and its affiliates (“Acculogic”) and the March 2024 acquisition of Alfamation S.p.A (“Alfamation”), our Electronic Test segment also sells its products to customers in markets outside the semi market including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial, life sciences and safety/security markets.
Our financial results are affected by a wide variety of factors, including, but not limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that may cause us to incur substantial expense in reviewing and evaluating potential transactions. We may or may not be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we may not be able to successfully integrate any business we do acquire with our existing business, and we may not be able to operate the acquired business profitably. As a result of these or other factors, we may experience significant period-to-period fluctuations in future operating results.
- 7 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(2)    SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
(a) Basis of Presentation and Use of Estimates
The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”) filed on March 13, 2025, with the Securities and Exchange Commission (“SEC”).
(b) Reclassifications
Certain prior period presentation and amounts have been reclassified to conform with the current period’s presentation. These consist of:
aggregating the components of property and equipment on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions and other current liabilities into accrued expenses and other current liabilities on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating our restricted certificates of deposit into other assets on the face of the consolidated balance sheets and disclosing the details in the footnotes
disaggregating amortization of acquired intangible assets from general and administrative expenses on the face of our consolidated statements of operations
aggregating foreign exchange (gain) loss, discount on shares sold under Employee Stock Purchase Plan, proceeds from sales of demonstration equipment, net of gain, into other non-cash reconciling items within adjustments to reconcile net (loss) earnings to cash provided by operating activities on the consolidated statements of cash flows
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions, other current liabilities and other liabilities into accrued and other liabilities within changes in assets and liabilities for cash flows from operating activities on the consolidated statements of cash flows.
(c) Business Combinations
Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statements of operations in the period of the estimated
- 8 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.
See “Note (3) Acquisition” for further disclosures related to our March 12, 2024, purchase of Alfamation™.
(d) Cash & Cash Equivalents
Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.
Periodically we have restricted cash which represents amounts deposited at our banks to support bank guarantees which certain of our customers require as a condition of paying large deposits on orders they place with us. Typically, the amount of the deposit and related guarantee declines as shipments are made against the order. At June 30, 2025 and December 31, 2024, we had no amounts classified as restricted cash.
(e) Trade Accounts Receivable and Allowance for Credit Losses
Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers’ financial condition. We follow the guidance in Accounting Standards Codification (“ASC”) Topic 326 - Financial Instruments – Credit Losses (“ASC 326”) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.
Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.
(f) Inventories
Inventories are generally valued at cost on a first-in, first-out basis, not in excess of net realizable value, except inventory acquired in a business combination, which is recorded at fair value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories.
(g) Property and Equipment
Our property and equipment caption includes machinery, equipment and leasehold improvements which are stated at cost, except for machinery and equipment acquired in a business combination, which are stated at fair value at the time of acquisition. As disclosed in “(h) Goodwill, Intangible and Long-Lived Assets,” machinery and equipment that has been determined to be impaired is written down to its fair value at the time of the impairment. Depreciation for machinery and equipment is based upon the estimated useful life of the assets using the straight-line method. The estimated useful lives range from one to ten years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset.
- 9 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(h) Goodwill, Intangible and Long-Lived Assets
We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.
We account for goodwill and intangible assets in accordance with ASC Topic 350 - Intangibles - Goodwill and Other (“ASC 350”). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.
Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized.
The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.
Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.
Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management’s best estimates using appropriate assumptions and projections at that time.
- 10 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(i) Fair Value of Financial Instruments
ASC Topic 820 - Fair Value Measurement (“ASC 820”) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.
ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:
Level 1: Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.
Level 2: Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.
Level 3: Valuations based on inputs that are unobservable and significant to the overall fair value measurement.
To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument’s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.
Our financial instruments include cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short-term nature of those items. Our credit facility and our interest rate swap are discussed further below and in “Note (10) Debt.” Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See “Note (7) Fair Value Measurements” for further disclosures related to the fair value of our liabilities for contingent consideration.
(j) State and Local Grant Funds Received
In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell Corporation (“Ambrell®”), occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $0.6 million to help offset a portion of the cost of the leasehold improvements we made to this facility. In exchange for the funds we received under these agreements, we were required to create and maintain specified levels of employment in this location through various dates ending in 2024. As of December 31, 2024, we met those employment targets as specified in the grant agreement with the city of Rochester. The remaining proceeds which were no longer subject to repayment were reclassified to deferred grant proceeds and will be amortized to income on a straight-line basis over the current remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheets and totaled $0.3 million at June 30, 2025.
(k) Leases
We account for leases in accordance with ASC Topic 842 -Leases (“ASC 842”). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the
- 11 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.
ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.
We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.
Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.
We have made an accounting policy election not to apply the recognition requirements of ASC 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.
See “Note (9) Leases” for further disclosures regarding our leases.
(l) Interest Rate Swap Agreement
We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in “Note (7) Fair Value Measurements” and “Note (10) Debt.” The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with a portion of our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 - Derivatives and Hedging. Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Our interest rate swap is recorded at fair value as a component of other assets in our balance sheets. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. We recognize the change in the fair value of the interest rate swap as a component of the change in other assets in our statements of cash flows.
(m) Revenue Recognition
We recognize revenue in accordance with the guidance in ASC Topic 606 - Revenue from Contracts with Customers. We recognize revenue for the sale of products or services at the amount of consideration we expect to receive for those goods or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable
- 12 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.
We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Shipping and handling fees billed to customers are included in revenue, while shipping and handling costs are included in cost of revenue.
Nature of Products and Services
We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including semi, industrial, auto/EV, life sciences, defense/aerospace and safety/security. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We sell thermal management products including ThermoStream®, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic®, Sigma, Thermonics® and North Sciences product lines, and Ambrell®’s precision induction heating systems, including EKOHEAT® and EASYHEAT products. As a result of the acquisition of Videology®, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We also sell many of our products to various other markets including the industrial, auto/EV, life sciences, defense/aerospace and safety/security markets. We provide post-warranty service and support for the equipment we sell.
We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.
Types of Contracts with Customers
Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed-upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.
Contract Balances
We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our consolidated balance sheets. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Customer deposits are included in current liabilities on our consolidated balance sheets. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. Deferred revenue estimated to be recognized within the next twelve months is included in current liabilities. Deferred revenue that we estimate will be recognized beyond twelve months is recorded in deferred revenue, net of current portion, on our consolidated balance sheets. Any non-inventoriable costs associated with deferred revenue are also deferred and recorded in prepaid expenses and other current assets or other assets on our consolidated balance sheets, depending on when the related deferred revenue is expected to be recognized.
As discussed above, we follow the guidance in ASC 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.
- 13 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Costs to Obtain a Contract with a Customer
The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.
Product Warranties
In connection with the sale of our products, we generally provide standard one- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.
See “Note (11) Revenue From Contracts With Customers” and “Note (18) Segment Information” for further information about our revenue from contracts with customers.
(n) Earnings (Loss) Per Common Share
Earnings (loss) per common share - basic is computed by dividing net earnings (loss) by the weighted average number of common shares outstanding during each period. Earnings (loss) per common share - diluted is computed by dividing earnings (loss) by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock, performance-based restricted stock, restricted stock units and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.
(o) Stock-Based Compensation
We account for stock-based compensation in accordance with ASC Topic 718 - Compensation—Stock Compensation which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. We generally grant awards in the first quarter of the year and recognize forfeitures of awards as they occur, recapturing any expense recorded for unvested awards.
The fair value of our stock options on the date of grant is determined using the Black-Scholes option pricing model, which requires the use of certain assumptions, including the expected volatility of our stock price, the expected term of the option, the risk-free rate and the expected dividend yield. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.
We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees. Prior to 2025, restricted stock awards granted to our independent directors vested 25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted. Beginning in 2025, restricted stock awards granted to our independent directors vest on the one-year anniversary of the grant date.
We also grant performance-based restricted stock awards where the ultimate number of shares that vest can vary and is based on the achievement of specific performance metrics. The grant date fair value of these awards is based on the quoted market price of our stock on the date of grant. Vesting for performance-based awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for performance-based
- 14 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjusted as needed. Our initial assumption at the grant date of these performance-based awards is that the award will vest at 100%.
From time to time, as restricted stock awards vest, certain employees surrender their vested shares to satisfy their tax liability on vesting. The fair value of those shares on the vesting date are then used by us to pay those employees’ tax obligations. The shares surrendered are reported as treasury stock in our statements of stockholders’ equity.
See further disclosures related to our stock-based compensation plans in “Note (14) Stock-Based Compensation Plan.”
(p) Foreign Currency
For our foreign subsidiaries whose functional currencies are not the U.S. dollar, assets and liabilities are translated using the exchange rate in effect at the balance sheet date. The results of operations are translated using an average exchange rate for the period. The effects of rate fluctuations in translating assets and liabilities of these international operations into U.S. dollars are included in accumulated other comprehensive earnings in stockholders’ equity. Transaction gains or losses are included in net earnings. For the six months ended June 30, 2025 and 2024, our net foreign currency transaction gains were immaterial.
(q) Income Taxes
We account for income taxes using the asset and liability method, as described in ASC Topic 740 – Income Taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.
Recognition and measurement of uncertain tax positions in our financial statements involves a determination of whether it is more likely than not that a tax position will be sustained upon examination with the presumption that the tax position will be examined by the appropriate taxing authority having full knowledge of all relevant information. Our policy is to record interest and penalties associated with unrecognized tax benefits as additional income taxes in the statements of operations.
(r) Restructuring and Other Charges
In accordance with the guidance in ASC Topic 420 - Exit or Disposal Cost Obligations, we recognize a liability for restructuring costs at fair value only when the liability is incurred. Workforce-related charges are accrued when it is determined that a liability has been incurred, which is generally after individuals have been notified of their termination dates and expected severance benefits. Depending on the timing of the termination dates, these charges may be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities may result in lease termination fees and impairment charges related to our ROU assets that are associated with the leases for these facilities. Other long-lived assets that may be impaired as a result of restructuring consist of property and equipment, goodwill and intangible assets. Asset impairment charges included in restructuring and other charges are based on an estimate of the amounts and timing of future cash flows related to the expected future remaining use and ultimate sale or disposal of the asset, and, in the case of our ROU assets, would include expected future sublease rental income, if applicable. These estimates are derived using the guidance in ASC 842, ASC 350 and ASC Topic 360 - Property, Plant and Equipment.
(s) Effect of Recently Adopted Amendments to Authoritative Accounting Guidance
In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (“ASU 2023-07”) which amends the guidance for disclosures for reportable segments. ASU 2023-07 introduced new requirements to disclose significant segment expenses regularly provided to the chief operating decision maker (“CODM”), extends certain annual disclosures to interim periods, clarifies that single reportable segment entities must apply ASC 280 – Segment Reporting
- 15 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
in its entirety, permits more than one measure of segment profit or loss to be reported under certain conditions, and requires disclosure of the title and position of the CODM. Our adoption of ASU 2023-07 had no impact on our consolidated financial statements. We have retrospectively applied the amendments to our interim footnote disclosures beginning January 1, 2025, as permitted.
(t) Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted
In November 2024, the FASB issued ASU 2024-03, Income Statement—Reporting Comprehensive Income—Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses (“ASU 2024-03”) that requires additional disclosure of certain costs and expenses, including amounts of inventory purchases, employee compensation, and depreciation and amortization included in each income statement line item. ASU 2024-03 also requires disclosure of the total amount of selling expenses and our definition of selling expenses. This update is effective for fiscal years beginning after December 15, 2026, and for interim periods beginning after December 15, 2027, and may be adopted on a prospective basis at the effective date or retrospectively applied to all periods presented. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
In March 2024, the SEC issued a new final rule in Release 33-11275, The Enhancement and Standardization of Climate-Related Disclosures for Investors, which requires the inclusion of climate-related information in registration statements and annual reports. Among other things, the new rule requires disclosure of material climate-related risks, activities related to adapting to or mitigating such risks, related oversight activities, and information on climate-related targets or goals. Information is also required of certain greenhouse gas emissions. Disclosure requirements were to begin phasing in for fiscal years beginning on or after January 1, 2025, however on April 4, 2024, the SEC issued a voluntary stay (SEC Release 33-11280) in response to pending litigation. Therefore, the implementation dates are currently on hold. We are monitoring SEC developments and evaluating the impact of the new rule on our consolidated financial statements.
In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (“ASU 2023-09”). The amendments require entities to annually disclose the income tax rate reconciliation using both amounts and percentages, considering several categories of reconciling items, including state and local income taxes, foreign tax effects, tax credits and nontaxable or nondeductible items, among others. Disclosure of the reconciling items is subject to a quantitative threshold and disaggregation by nature and jurisdiction. The amendments also require entities to disclose net income taxes paid or received to federal, state and foreign jurisdictions, as well as by individual jurisdiction, subject to a five percent quantitative threshold. The amendments may be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after December 15, 2024, with early adoption permitted. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
(u) Subsequent Events
We have made an assessment of our operations and with the exception of the debt amendment noted in “Note (10) Debt,” determined that there were no other material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2025.
On July 4, 2025, President Trump signed the One Big Beautiful Bill Act (“OBBBA”), enacting a broad range of tax reform provisions, including extending and modifying certain domestic and international Tax Cut & Jobs Act provisions and expanding certain Inflation Reduction Act incentives while accelerating the phase-out of others. Only certain provisions will have current-year financial reporting implications due to varying effective dates and discretionary elections. We are currently analyzing the OBBBA but do not anticipate a material impact to our consolidated financial statements.
(3)    ACQUISITION
On March 12, 2024, we completed the acquisition of Alfamation S.p.A., an Italian joint-stock company. Alfamation™ is a leading global provider of state-of-the-art test and measurement solutions for the auto/EV, life sciences and specialty consumer electronics markets. Alfamation™ is included in our Electronic Test operating segment. The acquisition of Alfamation™ deepens our presence in the auto/EV and life science markets, expands our exposure in consumer electronics, extends our geographic reach with a sizable footprint in Europe, and widens our portfolio of products and solutions. Additionally, we believe Alfamation™ brings engineering talent and a management team that culturally aligns
- 16 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
with our mission to provide innovative, engineered solutions that address the high-value challenges of our customers. The aggregate purchase price was approximately €20.0 million comprised of: (i) €18.0 million, or $19.7 million, in cash; and (ii) 187,432 shares of our common stock, valued at $2.1 million based on the closing price of our stock on the date of acquisition. The cash portion of the purchase price was subject to customary working capital adjustments. These adjustments were finalized in June 2024 and resulted in recording an additional €0.1 million, or $0.1 million, in purchase price for assets delivered at closing in excess of agreed upon thresholds. The liabilities assumed in connection with the acquisition included debt of approximately €10.3 million, or $11.3 million. The debt assumed is discussed further in “Note (10) Debt.” Total acquisition costs incurred to complete this transaction were $1.2 million. Acquisition costs were expensed as incurred and included in general and administrative expense.
The acquisition of Alfamation™ has been accounted for as a business combination using purchase accounting, and, accordingly, the results of Alfamation™ have been included in our consolidated results of operations from the date of acquisition. During the fourth quarter of 2024 we completed our allocation of the estimated fair values as of March 12, 2024, with final adjustments made primarily to inventories, identifiable intangible assets and goodwill. The “inventory step-up” of approximately $1.6 million was the most significant adjustment. Partially offsetting the decrease in customer backlog were increases to acquired technology and customer relationships. Other less significant changes affected property and equipment, other current assets, accrued expenses and deferred tax liability. The excess of the purchase price over the identifiable intangible and net tangible assets was allocated to goodwill and is not deductible for tax purposes. Goodwill is attributed to synergies that are expected to result from the operations of the combined businesses.
The total purchase price of $21.9 million has been allocated as follows:
(in thousands)March 12,
2024
Goodwill$9,883 
Identifiable intangible assets13,332 
Tangible assets acquired and liabilities assumed:
Cash1,088 
Trade accounts receivable6,061 
Inventories13,117 
Other current assets1,468 
Property and equipment1,739 
Other assets1,755 
Accounts payable(4,669)
Accrued expenses and other current liabilities(5,221)
Deferred tax liability(2,326)
Debt (current and long-term)(11,274)
Other non-current liabilities(3,052)
Total purchase price$21,901 
We estimated the fair value of identifiable intangible assets acquired using the income approach. Identifiable intangible assets acquired include customer relationships, customer backlog, technology and a trade name. We are amortizing the finite-lived intangible assets acquired over their estimated useful lives based on the pattern in which the economic benefits of the intangible asset are expected to be consumed.
- 17 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
The following table summarizes the estimated fair value of Alfamation™’s identifiable intangible assets and their estimated useful lives as of the acquisition date:
Fair
Value
Weighted
Average
Estimated
Useful Life
(in thousands except lives)(in years)
Finite-lived intangible assets:
Customer relationships$8,196 20.0
Technology3,169 10.0
Total finite-lived intangible assets11,365 
Indefinite-lived intangible assets:
Trade name1,967 
Total intangible assets$13,332 
The following unaudited pro forma information gives effect to the acquisition of Alfamation™ as if the acquisition occurred on January 1, 2024. These proforma summaries do not reflect any operating efficiencies or costs savings that may be achieved by the combined businesses. These proforma summaries are presented for informational purposes only and are not necessarily indicative of what the actual results of operations would have been had the acquisition taken place as of that date, nor are they indicative of future consolidated results of operations:
Six Months Ended
June 30,
(in thousands except per share data)20252024
Revenue$54,767 $68,743 
Net (loss) earnings$(2,832)$710 
Diluted (loss) earnings per share$(0.23)$0.06 
The pro forma results shown above do not reflect the impact on general and administrative expense of investment advisory costs, legal costs and other costs of $1.2 million incurred by us as a direct result of the transaction.
In connection with the acquisition, we have entered into a lease agreement (the “Alfamation Lease Agreement”) with the former owner of Alfamation™ who will continue to serve as the managing director of Alfamation™ under our ownership. The Alfamation Lease Agreement commenced on March 12, 2024, and will last for six years. It will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Alfamation Lease Agreement, Alfamation™ will lease warehouse and office space totaling about 52 thousand square feet. Alfamation™ will pay a yearly lease payment of €0.3 million broken up into two equal payments. At the date of the signing of the Alfamation Lease Agreement, the yearly lease payment equated to approximately $0.3 million.
- 18 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(4)    INVENTORIES
Inventories held at June 30, 2025, and December 31, 2024, were comprised of the following:
(in thousands)June 30,
2025
December 31,
2024
Raw materials$16,932 $16,109 
Work in process5,108 5,940 
Inventory consigned to others256 288 
Finished goods5,314 4,500 
Total inventories$27,610 $26,837 
Total charges incurred for excess and obsolete inventory for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Excess and obsolete inventory charges$97 $130 $304 $306 
(5)    PROPERTY AND EQUIPMENT
Property and equipment included the following:
(in thousands)June 30,
2025
December 31,
2024
Machinery and equipment$9,688 $9,162 
Leasehold improvements4,502 4,125 
Gross property and equipment14,190 13,287 
Less: accumulated depreciation(9,513)(8,830)
Net property and equipment$4,677 $4,457 
Depreciation expense related to property and equipment was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Depreciation$314 $356 $630 $629 
(6)    GOODWILL AND INTANGIBLE ASSETS
We have three operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.
- 19 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Goodwill
Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2025, are as follows:
(in thousands)
Balance - January 1, 2025$30,744 
Impact of foreign currency translation adjustments1,693 
Balance – June 30, 2025$32,437 
Goodwill was comprised of the following at June 30, 2025, and December 31, 2024:
(in thousands)June 30, 2025December 31,
2024
Electronic Test$14,018 $12,567 
Environmental Technologies1,817 1,817 
Process Technologies16,602 16,360 
Total goodwill$32,437 $30,744 
Intangible Assets
Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:
(in thousands)Finite-LivedIndefinite-Lived
Balance - January 1, 2025$16,201 $10,175 
Impact of foreign currency translation adjustments1,590 344 
Amortization(1,663)— 
Balance – June 30, 2025$16,128 $10,519 
The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:
June 30, 2025
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$25,247 $12,756 $12,491 
Technology6,302 2,665 3,637 
Patents590 590  
Backlog   
Software270 270  
Trade name140 140  
Total finite-lived intangible assets32,549 16,421 16,128 
Indefinite-lived intangible assets:
Trademarks10,519 — 10,519 
Total intangible assets$43,068 $16,421 $26,647 
- 20 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
December 31, 2024
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$23,912 $11,496 $12,416 
Technology5,786 2,001 3,785 
Patents590 590  
Backlog481 481  
Software270 270  
Trade name140 140  
Total finite-lived intangible assets31,179 14,978 16,201 
Indefinite-lived intangible assets:
Trademarks10,175 — 10,175 
Total intangible assets$41,354 $14,978 $26,376 
The following table sets forth the estimated annual amortization expense for each of the next five years:
(in thousands)
Remaining 2025$1,699 
20262,608 
20272,057 
20281,699 
20291,364 
Thereafter6,701 
Total estimated amortization of finite-lived intangible assets$16,128 
(7)    FAIR VALUE MEASUREMENTS
Recurring Fair Value Measurements
The interest rate swap agreement we entered into in connection with our Term Note, as disclosed in “Note (2) Summary of Significant Accounting Policies; (l) Interest Rate Swap Agreement” and “Note (10) Debt,” is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheet is measured at fair value on a recurring basis using Level 3 inputs.
Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021, and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. We may pay the seller up to an additional CAD $5.0 million in the five-year period from 2022 through 2026. The additional payments will be based on a percent of net invoices for which payments have been received on systems sold to EV or battery customers in excess of CAD $2.5 million per year in each of the five years. The maximum payment is capped at CAD $5.0 million, which equates to approximately $3.7 million at June 30, 2025. There were no payments due to the seller for the years ended December 31, 2022 or 2023. We paid the contractually due amount for 2024 during the first quarter of 2025. To estimate the fair value of the contingent consideration at the acquisition date, an option-based income approach using a Monte Carlo simulation model was utilized due to the non-linear payout structure. As of the acquisition date, this resulted in an estimated fair value of $1.4 million. This amount was recorded as a contingent consideration liability and included in the purchase price as of the acquisition date. We reassess the estimated fair value of this liability annually using this same approach, or more frequently, if we determine that there have been material changes to the assumptions used in the calculation of the probable payout. Changes in the amount of the estimated fair value of the earn-outs since the acquisition date are recorded as operating expenses in our consolidated statement of operations in the quarter in which they occur. The current portion of our contingent consideration liability is
- 21 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
included as a component of accrued expenses and other current liabilities, while the non-current portion is included in Other Liabilities on our consolidated balance sheets.
The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:
June 30, 2025
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$58 $ $58 $ 
Contingent consideration - current(431)  (431)
Contingent consideration - long term(441)  (441)
December 31, 2024
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$117 $ $117 $ 
Contingent consideration - current(62)  (62)
Contingent consideration - long term(825)  (825)
Changes in the fair value of our Level 3 contingent consideration liabilities for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Balance at beginning of period$824 $1,069 $887 $1,093 
Cash payments  (34) 
Change in estimated fair value (50)(28)(50)
Impact of foreign currency translation adjustments48 (11)47 (35)
Balance at end of period$872 $1,008 $872 $1,008 
(8)    ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES
Accrued expenses and other current liabilities included the following:
(in thousands)June 30,
2025
December 31,
2024
Accrued wages and benefits$4,609 $5,420 
Accrued professional fees1,360 1,294 
Accrued sales commissions837 1,039 
Accrued warranty978 802 
Other current liabilities2,069 930 
Total accrued expenses and other current liabilities$9,853 $9,485 
- 22 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(9)    LEASES
As disclosed in “Note (2) Summary of Significant Accounting Policies; (k) Leases,” we account for our leases in accordance with the guidance in ASC 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2032. Total operating lease and short-term lease costs for the three and six months ended June 30, 2025 and 2024, respectively, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Operating lease cost$641 $509 $1,294 $960 
Short-term lease cost2 4 6 7 
The following is additional information about our leases as of June 30, 2025:
Range of remaining lease terms (in years)0.3to6.7
Weighted average remaining lease term (in years)5.4
Weighted average discount rate6.7%
Maturities of lease liabilities as of June 30, 2025, were as follows:
(in thousands)
2025 (remainder)$1,410 
20262,529 
20272,334 
20281,696 
20291,583 
Thereafter2,624 
Total lease payments$12,176 
Less imputed interest(1,760)
Total$10,416 
Cash Flow Information
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Amortization of ROU assets$428 $282 $1,066 $685 
ROU assets obtained in exchange for operating lease obligations1 5,517 86 5,623 
As disclosed in “Note (3) Acquisition,” on March 12, 2024, we acquired the stock of Alfamation™, and as such, we assumed several leases. In addition, we also entered into the Alfamation Lease Agreement for the seller-owned facility where Alfamation™ has its principal operations. The leased premises include warehouse and office space totaling approximately 52 thousand square feet. The semi-annual lease payments are €0.1 million. The impact of the assumption and execution of these leases was a non-cash increase in our ROU assets and operating lease liabilities of approximately $1.7 million at the date of the acquisition.
- 23 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
(10)    DEBT
Letters of Credit
We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as other assets on our balance sheets. The terms of our leases require us to renew these letters of credit at least 30 days prior to their expiration dates for successive terms of not less than one year until lease expiration. Our outstanding letters of credit at June 30, 2025, and December 31, 2024, consisted of the following:
(in thousands)L/CLeaseLetters of Credit
Amount Outstanding
FacilityOriginal L/C
Issue Date
Expiration
Date
Expiration
Date
Jun. 30,
2025
Dec. 31,
2024
Mt. Laurel, NJ3/29/104/30/264/30/31$50 $50 
Mansfield, MA10/27/1012/31/252/29/3250 50 
$100 $100 
Credit Facility
On October 15, 2021 (the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&T Bank (“M&T”) which, was subsequently amended on October 28, 2021, December 30, 2021, September 20, 2022, May 2, 2024, and December 18, 2024 (together as amended, the “Loan Agreement”). The Loan Agreement includes a $50.5 million non-revolving delayed draw term note (the “Term Note”) and a $10.0 million revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The available funding at June 30, 2025, under the Term Note was $30 million and we have not borrowed any amounts under the $10.0 million Revolving Facility. The Credit Facility has a five-year contract period that began on October 15, 2021, and, as amended, expires on May 2, 2031, and draws under the Term Note, as amended, are permissible until May 2, 2026.
The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“SOFR”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a five-year amortizing term loan with a balloon due at maturity, or (ii) up to a five-year term with up to seven years amortization with a balloon due at maturity. Any amortization greater than five years will be subject to an excess cash flow recapture. The Loan Agreement also allows us to enter into hedging contracts with M&T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.
The Loan Agreement contains customary default provisions, including but not limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the contract period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable nondefault interest rate. The Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of not more than 3.0 to 1.0 and a fixed charge coverage ratio of not less than 1.25 to 1.0. Our obligations under the Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement, except for the fixed charge coverage ratio financial covenant which was 0.80 to 1.0 for the quarter ended June 30, 2025.
On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T.
- 24 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
On October 28, 2021, we drew $12.0 million under the Term Note to finance the acquisition of Videology®. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five-year repayment and amortization period. As a result, the annual interest rate we pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.
On December 29, 2021, we drew $8.5 million under the Term Note to finance the acquisition of Acculogic. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate for this draw under the Term Note is variable. At June 30, 2025, it was approximately 6.6% based on current leverage.
The following table sets forth the annual maturities for the balance of the Term Note:
(in thousands)
2025 (remainder)$2,050 
20263,842 
Total remaining maturities of our Term Note$5,892 
Alfamation™ Debt
In connection with the acquisition of Alfamation™ (see “Note (3) Acquisition”), we assumed debt which totaled $11.3 million as of the acquisition date. At June 30, 2025, Alfamation™’s total debt amounted to $4.2 million. This debt is comprised of both fixed and variable rate bank issued term loans as well as $0.7 million of short-term variable rate financing backed by Alfamation™’s accounts receivable. This debt is spread across several different institutions with monthly, quarterly or semi-annual repayment schedules. The short-term variable financing rate at June 30, 2025, was 3.1%. At June 30, 2025, the weighted average interest rate payable on the bank issued term loans was 1.1% for fixed rate debt and 3.7% for variable rate debt and the overall weighted average interest rate for the bank issued term loans was 3.2%.
The following table sets forth the maturities of this debt for each of the next four years:
(in thousands)
2025 (remainder)$1,597 
20261,484 
2027858 
2028262 
Total remaining maturities of our Alfamation™ Debt
$4,201 
(11)    REVENUE FROM CONTRACTS WITH CUSTOMERS
Disaggregation of Revenue
The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. See “Note (18) Segment Information” for information about revenue by operating segment and geographic region.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by customer type:
End user$23,192 $27,496 $45,628 $48,926 
OEM/Integrator4,938 6,495 9,139 14,889 
$28,130 $33,991 $54,767 $63,815 
- 25 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)

Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by product type:
Thermal test$4,839 $4,228 $9,232 $7,927 
Thermal process5,547 9,843 10,828 20,798 
Semiconductor test5,926 4,014 10,660 10,296 
Video imaging2,289 1,685 4,346 3,804 
Flying probe and in-circuit testers1,204 1,031 3,060 3,775 
Alfamation™ products
4,629 9,719 8,778 11,098 
Service/other3,696 3,471 7,863 6,117 
$28,130 — $33,991 $54,767 $63,815 

Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by market:
Semi$10,192 $10,124 $19,187 $25,091 
Auto/EV5,862 10,735 11,821 14,693 
Defense/Aerospace3,578 3,682 6,406 6,921 
Industrial3,786 3,415 6,807 7,602 
Life Sciences1,386 2,194 3,074 2,847 
Safety/Security898 792 1,462 1,333 
Other2,428 3,049 6,010 5,328 
$28,130 $33,991 $54,767 $63,815 
Major Customers
During the three and six months ended June 30, 2025, one customer (Customer “A”) accounted for 11% and 12%, respectively, of our consolidated revenue. During the three months ended June 30, 2024, one customer (Customer “B”) accounted for 17% of our consolidated revenue, while during the six months ended June 30, 2024, Customer “A” accounted for 11% of our consolidated revenue. These revenues in the periods presented were generated by our Electronic Test segment.
Contract Liabilities
As of June 30, 2025, and December 31, 2024, we had total contract liabilities of $7.0 million and $6.4 million, respectively. Our contract liabilities consist of our customer deposits and deferred revenue as well as deferred revenue net of current portion on our consolidated balance sheets. For the three months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of March 31, 2025, was $2.4 million, while for the three months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of March 31, 2024, was $1.5 million. For the six months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of December 31, 2024, was $3.1 million, while for the six months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of December 31, 2023, was $3.1 million.
- 26 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Allowance for Credit Losses
Activity related to our allowance for credit losses was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Beginning balance$411 $426 $423 $474 
Credit loss expense, net of release of unused allowance60 1 46 1 
Write-offs(12) (12)(48)
Foreign currency translation impact5 (11)7 (11)
Ending balance$464 $416 $464 $416 
(12)    EARNINGS (LOSS) PER SHARE
The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings (loss) per share because their effect was anti-dilutive:
Three Months EndedSix Months Ended
June 30,June 30,
2025202420252024
Weighted average common shares outstanding - basic12,215,25812,234,59912,197,33812,130,480
Potentially dilutive securities:
Unvested shares of restricted stock and employee stock options95,681113,809
Weighted average common shares and common share equivalents outstanding - diluted12,215,25812,330,28012,197,33812,244,289
Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period662,167599,276769,896516,930
(13)    EQUITY
On March 5, 2025, our Board of Directors authorized the renewal of our previously expired share repurchase plan (the “Repurchase Plan”), whereby we may repurchase shares of our common stock on the open market with a total aggregate repurchase amount of up to $10.0 million. As of the renewal date, we had approximately $9.0 million available for repurchases under the Repurchase Plan. We are not obligated to purchase any common stock under the Repurchase Plan. Further, the Repurchase Plan may be suspended or discontinued at any time without prior notice.
(14)    STOCK-BASED COMPENSATION PLAN
As of June 30, 2025, we had unvested stock options, restricted stock awards, performance-based restricted stock awards and restricted stock units granted under our stock-based compensation plans. On June 21, 2023, our stockholders approved the InTest Corporation 2023 Stock Incentive Plan (the “2023 Plan”) which replaced the Fourth Amended and Restated 2014 Stock Plan (the “2014 Plan”). No further awards can be granted under the 2014 Plan. The maximum number of shares of common stock available for grant and issuance under the 2023 Plan is (a) 350,000, plus (b) the number of shares of common stock available for issuance under the 2014 Plan on the date the 2023 Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the 2014 Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the 2023 Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the 2023 Plan as of the
- 27 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
date of its approval was 1,117,942. Consistent with prior years’ performance-based awards, we reserve additional shares in the event that the performance achieves maximum levels. As a result of current year’s activity with regard to performance-based restricted stock awards (grants and forfeitures), we have 50,113 shares reserved in aggregate for performance in excess of target as of June 30, 2025. As of June 30, 2025, the remaining authorization for issue under the 2023 Plan was 436,980.
The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2025 and 2024, related to unvested restricted stock, performance-based restricted stock awards, restricted stock units and stock options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Cost of revenues$45 $37 $83 $68 
Selling expense19 14 32 25 
Engineering and product development expense10 8 (1)12 
General and administrative expense361 505 744 808 
$435 $564 $858 $913 
As of June 30, 2025, total compensation expense to be recognized in future periods was $4.6 million. The weighted average period over which this expense is expected to be recognized was 2.8 years. There was no compensation expense capitalized in the three and six months ended June 30, 2025 or 2024.
Stock Options
The fair value for stock options granted during the six months ended June 30, 2025 and 2024 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:
Six Months Ended
June 30,
20252024
Risk-free interest rate4.28 %3.98 %
Dividend yield0.00 %0.00 %
Expected common stock market price volatility factor.59.57
Weighted average expected life of stock options (years)6.256.25
The following table summarizes the activity related to stock options for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Exercise Price
Weighted Average Remaining Contractual Term (yrs)
Aggregate Intrinsic Value (in thousands)
Options outstanding, January 1, 2025
602,593$10.92 
Granted310,0867.74 
Exercised(4,925)3.69 
Forfeited(23,188)10.78 
Options outstanding, June 30, 2025
884,566$9.85 7.8$112 
Exercisable399,536$10.55 6.3$112 
Expected to vest485,030$9.27 9.1$ 
- 28 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
The table below summarizes certain additional information with respect to our options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands, except per option amounts)2025202420252024
Weighted average grant date fair value per option$ $ $4.61 $6.55 
Aggregate intrinsic value of options exercised$ $ $22 $40 
Restricted Stock Awards
The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
119,833$11.92 
Granted85,0987.74 
Vested(46,474)11.76 
Forfeited(9,169)10.69 
Unvested shares outstanding, June 30, 2025
149,288$9.67 
Additional information about our restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of RSA’s vested$94 $89 $344 $435 
Performance-Based Restricted Stock Awards
On January 16, 2024, the newly appointed president of our Process Technologies segment received performance-based restricted stock awards totaling 8,231 shares valued at $0.1 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on January 16, 2024. The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods. As of June 30, 2025, we have estimated that these shares will vest at 100% of the original amount.
On March 6, 2024, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 33,539 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 6, 2024. The final vesting percentage will be based on the achievement of certain performance metrics related to adjusted EBITDA for the year ended December 31, 2026, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.
On March 17, 2025, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 49,098 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 17, 2025. The final vesting percentage will be based on the achievement of certain performance metrics related to the percentage of revenue received by us generated by recurring revenue streams for the year ended December 31, 2027, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these
- 29 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.
On October 1, 2021, we granted 5,000 shares of performance-based stock awards to a member of senior management with a vesting date of January 1, 2025. The performance criteria was based on the achievement of certain financial metrics. The probability of achievement was 0% as of December 31, 2024, and on January 1, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.
On March 9, 2022, our CEO and CFO were granted performance-based stock awards totaling 20,493 shares. The performance criteria was based on the achievement of certain performance metrics including compound annual revenue growth rate. The probability of achievement was 0% as of December 31, 2024, and on March 9, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.
On March 8, 2023, our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards, of which 16,605 remained as of June 30, 2025. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on March 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. During the second quarter of 2025, we reduced this estimate from 50% to 0% based on our current projections for the performance metrics for the relevant measurement period. The adjustment for this award was insignificant and recorded in general and administrative expense in our statements of operations.
On June 11, 2025, the president of our Environmental Technologies segment terminated employment with us. He had performance-based stock awards of 5,081 shares granted on May 8, 2023, 2,942 shares granted on March 6, 2024 and 4,307 shares granted on March 17, 2025. The probability of achievement of the May 8, 2023 award was 50% as of March 31, 2025, while the March 6, 2024 and March 17, 2025 awards remained at 100% as of March 31, 2025. Due to the termination, none of the performance criteria were achieved and therefore, 12,330 performance-based stock awards were forfeited.
The following table summarizes the activity related to unvested performance-based restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
88,949$12.53 
Granted49,0987.74 
Vested 
Forfeited(37,823)11.48 
Unvested shares outstanding, June 30, 2025
100,224$10.58 
Additional information about our performance-based restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of PSA’s vested$ $ $ $117 
- 30 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Restricted Stock Units
We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
$ 
Granted61,0917.98 
Vested 
Forfeited 
Unvested shares outstanding, June 30, 2025
61,091$7.98 
No RSUs vested during the six months ended June 30, 2025.
(15)    EMPLOYEE STOCK PURCHASE PLAN
The InTest Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by the Board in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021, at our Annual Meeting of Stockholders and became effective on October 1, 2021.
The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a 15% discount from the closing market price on the purchase date. The discount is recorded as a component of compensation expense in our consolidated statements of operations. The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance under the ESPP. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.
The activity in our ESPP was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands except shares)2025202420252024
Shares purchased4,592 4,483 9,966 8,587 
Total cost of shares$28 $38 $60 $84 
Total discount (compensation expense)$5 $7 $11 $15 
The per share prices related to the ESPP purchases were as follows:
Closing Market PricePurchase Price
June 30, 2025$7.28 $6.19 
March 31, 20256.99 5.94 
June 30, 20249.88 8.40 
March 31, 202413.25 11.26 

(16)    RESTRUCTURING
On February 25, 2025, we notified employees of our wholly-owned subsidiary, Videology Imaging Corporation, of our intention to consolidate all operations in the Netherlands into our facility located in Mansfield, Massachusetts (the
- 31 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Videology Consolidation”). Videology® is included in our Process Technologies segment. This plan would result in the closure of the Netherlands facility and the termination of certain employees at that location. The Videology Consolidation of the Netherlands operations is being undertaken to increase efficiencies and lower operating costs associated with the current operation of Videology® and is expected to be substantially completed by the end of 2025 at which point we intend to fully vacate the Netherlands facility.
On June 11, 2025, we transitioned leadership of our Environmental Technologies segment (the “Environmental Transition”), appointing a new President. We incurred severance and payroll related costs for the outgoing President related to the Environmental Transition.
As a result of these two actions, we expect to incur cash charges for severance and other one-time termination benefits of $425 thousand. In addition, we expect to incur cash charges for other costs related to the facility consolidation, including moving costs, costs associated with the termination of the Netherlands facility lease and other consolidation costs, ranging from $200 thousand to $300 thousand.
We have recognized restructuring expenses related to these actions as follows:
Three Months EndedSix Months Ended
(in thousands)June 30,
2025
June 30,
2025
Videology Consolidation:
Severance$ $237 
Retention60 79 
Payroll taxes and payroll related12 63 
Other12 18 
Total Process Technologies restructuring charges84 397 
Corporate portion of action charges52 52 
Total Videology Consolidation restructuring charges$136 $449 
Environmental Transition:
Severance$70 $70 
Payroll taxes and payroll related6 6 
Total Environmental Technologies restructuring charges76 76 
Corporate portion of action charges4 4 
Total Environmental Transition restructuring charges$80 $80 
Total consolidated restructuring charges$216 $529 
- 32 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Our restructuring accrual is included as a component of accrued expenses and other current liabilities:
Six Months Ended
(in thousands)June 30,
2025
Beginning balance$ 
Charges529 
Cash payments(36)
Impact of foreign currency translation adjustments30 
Ending balance$523 

(17)    EMPLOYEE BENEFIT PLANS
The InTest Corporation Incentive Savings Plan is a defined contribution 401(k) plan for our employees who work in the U.S. (the “InTest Savings Plan”). As of June 30, 2025, all permanent employees of Acculogic Ltd, Ambrell®, InTest Corporation, InTest EMS LLC, Temptronic Corporation and Videology®, who are at least 18 years of age, are eligible to participate in the InTest Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5 thousand. Employer contributions vest ratably over four years. Matching contributions are discretionary.
We recorded expense for matching contributions as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Discretionary employer matching contributions$205 $219 $564 $608 
Employees of Alfamation™ in Italy are entitled to Trattamento di Fine Rapporto (“TFR”), commonly referred to as an employee leaving indemnity, which represents deferred compensation for employees. Under Italian law, an entity is obligated to accrue for TFR on an individual employee basis payable to each individual upon termination of employment (including both voluntary and involuntary dismissal). The expense is recognized in personnel costs in our consolidated statements of operations and the required accrual is included in Other Liabilities on our consolidated balance sheets. At June 30, 2025, the amount recorded in other liabilities for TFR was $1.6 million.
(18)    SEGMENT INFORMATION
We have three operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers and the operations of Alfamation™ which we acquired on March 12, 2024 - see “Note (3) Acquisition”), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, third-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the auto/EV, defense/aerospace, industrial, life sciences, safety/security and other markets.
- 33 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses, restructuring costs and acquired intangible amortization.
Three Months Ended June 30, 2025
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$13,733 $7,215 $7,182 $— $28,130 
Cost of revenue7,418 4,534 4,205 — 16,157 
Other divisional costs4,755 2,070 2,578 — 9,403 
Division operating income (loss)1,560 611 399  2,570 
Acquired intangible amortization850 850 
Restructuring costs216 216 
Corporate expenses
2,431 2,431 
Operating (loss) income1,560 611 399 (3,497)(927)
Interest expense
(119)(119)
Other income463 463 
(Loss) earnings before income tax (benefit) expense$1,560 $611 $399 $(3,153)$(583)
Supplemental Disclosures:
Depreciation$152 $62 $61 $39 $314 
Stock-based compensation86 81 68 200 435 
Capital expenditures63 24 9 366 462 
Total assets$76,259 $21,944 $49,975 $1,475 $149,653 

Three Months Ended June 30, 2024
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$16,159 $8,273 $9,559 $— $33,991 
Cost of revenue9,462 5,016 5,716 — 20,194 
Other divisional costs4,954 2,264 2,873 — 10,091 
Division operating income (loss)1,743 993 970  3,706 
Acquired intangible amortization897 897 
Corporate expenses
2,473 2,473 
Operating income (loss)1,743 993 970 (3,370)336 
Interest expense
(253)(253)
Other income213 213 
Earnings (loss) before income tax expense (benefit)$1,743 $993 $970 $(3,410)$296 
Supplemental Disclosures:
Depreciation$154 $80 $100 $22 $356 
Stock-based compensation53 48 52 411 564 
Capital expenditures106 122 17 71 316 
Total assets$81,668 $21,827 $55,460 $1,599 $160,554 

- 34 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
Six Months Ended June 30, 2025
($ in thousands)Electronic TestEnvironmental TechnologiesProcess
Technologies
Corporate &
Other
Consolidated
Revenue$26,992 $13,483 $14,292 $— $54,767 
Cost of revenue14,731 8,697 8,310 — 31,738 
Other divisional costs10,020 4,430 5,376 — 19,826 
Division operating income (loss)2,241 356 606  3,203 
Acquired intangible amortization1,663 1,663 
Restructuring costs529 529 
Corporate expenses4,819 4,819 
Operating (loss) income2,241 356 606 (7,011)(3,808)
Interest expense(271)(271)
Other income707 707 
(Loss) earnings before income tax expense$2,241 $356 $606 $(6,575)$(3,372)
Supplemental Disclosures:
Depreciation$306 $127 $123 $74 $630 
Stock-based compensation140 49 120 549 858 
Capital expenditures197 106 15 373 691 
Total assets$76,259 $21,944 $49,975 $1,475 $149,653 
    

Six Months Ended June 30, 2024
($ in thousands)Electronic TestEnvironmental TechnologiesProcess
Technologies
Corporate &
Other
Consolidated
Revenue$27,275 $15,101 $21,439 $— $63,815 
Cost of revenue15,008 9,549 12,385 — 36,942 
Other divisional costs8,711 4,544 6,123 — 19,378 
Division operating income3,556 1,008 2,931  7,495 
Acquired intangible amortization1,492 1,492 
Corporate expenses5,175 5,175 
Operating income (loss)3,556 1,008 2,931 (6,667)828 
Interest expense(393)(393)
Other income648 648 
Earnings (loss) before income tax expense$3,556 $1,008 $2,931 $(6,412)$1,083 
Supplemental Disclosures:
Depreciation$242 $144 $200 $43 $629 
Stock-based compensation106 86 34 687 913 
Capital expenditures142 351 87 76 656 
Total assets$81,668 $21,827 $55,460 $1,599 $160,554 
- 35 -

InTest CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (continued)
(Unaudited)
The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue:
U.S.$12,372 $14,423 $25,038 $24,900 
Foreign15,758 19,568 29,729 38,915 
$28,130 $33,991 $54,767 $63,815 
(in thousands)June 30,
2025
December 31,
2024
Property and equipment:
U.S.$2,113 $2,280 
Foreign2,564 2,177 
$4,677 $4,457 
- 36 -

Item 2.MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS
Risk Factors and Forward-Looking Statements
In addition to historical information, this Quarterly Report on Form 10-Q for the period ended June 30, 2025 (this “Report”), including this management’s discussion and analysis (“MD&A”), contains statements that are considered “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995, as amended. These statements do not convey historical information, but relate to predicted or potential future events, such as statements of our plans, strategies and intentions, or our future performance or goals, projections of revenue, taxable earnings (loss), net earnings (loss), net earnings (loss) per share, capital expenditures and other financial items, that are based on management’s current expectations and estimates. Our forward-looking statements can often be identified by the use of forward-looking terminology such as “believe,” “expect,” “may,” “could,” “will,” “plans,” “depending,” “seeking,” “anticipates,” “goal,” “objective,” “target,” “estimates,” “future,” “strategy,” or variations of such words or similar terminology. Investors and prospective investors are cautioned that such forward-looking statements are only projections based on current expectations and estimates. These statements involve risks and uncertainties and are based upon various assumptions. Such risks and uncertainties include, but are not limited to:
our ability to execute on our VISION 2030 Strategy;
our ability to grow our presence in the automotive/electric vehicle (“EV”), defense/aerospace, industrial, life sciences, safety/security and international markets;
the possibility of future acquisitions or dispositions and the successful integration of any acquired operations;
the success of our strategy to diversify our business by entering markets outside the semiconductor automated test equipment (“ATE”) market;
indications of a change in the market cycles in the semiconductor (“semi”) market, or other markets we serve;
developments and trends in the semi market, including changes in the demand for semiconductors;
our ability to convert backlog to sales and to ship product in a timely manner;
the loss of any one or more of our largest customers, or a reduction in orders by a major customer;
the availability of materials used to manufacture our products;
the impact of interruptions in our supply chain caused by external factors;
the sufficiency of cash balances, lines of credit and net cash from operations;
stock price fluctuations;
the ability to borrow funds or raise capital to finance potential acquisitions or for working capital;
changes in the rate of, and timing of, capital expenditures by our customers;
effects of exchange rate fluctuations;
progress of product development programs;
the anticipated market for our products;
our failure to maintain a proper and effective system of disclosure controls and internal control over financial reporting;
the availability of and retention of key personnel or our ability to hire personnel at anticipated costs;
changes in U.S. and/or foreign trade policy and/or general economic conditions both domestically and globally; and
other risk factors included in “Part II; Item 1A. Risk Factors” in this Report and in “Part I; Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”).
These risks and uncertainties, among others, could cause our actual future results to differ materially from those described in our forward-looking statements or from our prior results. Any forward-looking statement made by us in this Report is based only on information currently available to us and speaks to circumstances only as of the date on which it is made. We undertake no obligation to update publicly any forward-looking statements for any reason after the date of this Report to conform these statements to actual results or to changes in our expectations, except as required by law.
Overview
This MD&A should be read in conjunction with the accompanying consolidated financial statements. In addition, please refer to the discussion of our business and markets contained in “Part I; Item 1. Business,” of our 2024 Form 10-K.
We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including semi, auto/EV, defense/aerospace, industrial, life sciences, safety/security and other. We have three reportable segments which are also our reporting units: Electronic Test, (which includes our semiconductor test
- 37 -

equipment, flying probe and in-circuit testers), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products).
All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. These factors include, for example, the amount of engineering time required to develop the product, the market or customer to which we sell the product and the level of competing products available from other suppliers. The needs of our customers ultimately determine the products that we sell in a given time period. Therefore, the mix of products sold in a given period can change significantly when compared against the prior period. As a result, our consolidated gross margin may be significantly impacted by a change in the mix of products sold in a particular period.
Markets
As discussed further in “Part I; Item 1. Business; Markets” of our 2024 Form 10-K, we are focused on specific target markets which include auto/EV, defense/aerospace, industrial, life sciences, safety/security as well as both the front-end and back-end of the semiconductor manufacturing industry. The semi market, which includes both the broader semiconductor market, as well as the more specialized ATE and wafer production sectors within the broader semiconductor market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical market patterns and is subject to periods of significant expansion or contraction in demand. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.
The portion of our business that is derived from the semi market is substantially dependent upon the demand for ATE by semiconductor manufacturers and companies that specialize in the testing of integrated circuits (“ICs”) and, for our induction heating products, the demand for wafer production equipment. Demand for ATE or wafer production equipment is primarily driven by semiconductor manufacturers that are opening new, or expanding existing, semiconductor fabrication facilities or upgrading equipment, which in turn is dependent upon the current and anticipated market demand for ICs and products incorporating ICs. Such market demand can be the result of market expansion, development of new technologies or redesigned products to incorporate new features, or the replacement of aging equipment.
The semi market is highly cyclical with recurring periods of oversupply, which often severely impact the semi market's demand for the products we manufacture and sell into the market. This cyclicality can cause wide fluctuations in both our orders and revenue and, depending on our ability to react quickly to these shifts in demand, can significantly impact our results of operations. Market cycles are difficult to predict and, because they are generally characterized by sequential periods of growth or declines in orders and revenue during each cycle, year-over-year comparisons of operating results may not always be as meaningful as comparisons of periods at similar points in either up or down cycles. These periods of heightened or reduced demand can shift depending on various factors impacting both our customers and the markets that they serve. In addition, during both downward and upward cycles in the semi market, in any given quarter, the trend in both our orders and revenue can be erratic. This can occur, for example, when orders are canceled or currently scheduled delivery dates are accelerated or postponed by a significant customer or when customer forecasts and general business conditions fluctuate during a quarter.
While a significant portion of our orders and revenue are derived from the semi market, and our operating results generally follow the overall trend in the semi market, in any given period we may experience anomalies that cause the trend in our revenue from the semi market to deviate from the overall trend in the market. We believe that these anomalies may be driven by a variety of factors within the semi market, including, for example, changing product requirements, longer periods between new product offerings by OEMs and changes in customer buying patterns. In addition, in recent periods, we have seen instances when demand within the semi market is not consistent for each of our operating segments or for any given product within a particular operating segment. This inconsistency in demand can be driven by a number of factors but, in most cases, we have found that the primary reason is unique customer-specific changes in demand for certain products driven by the needs of their customers or markets served. Recently this has become more pronounced for our sales into the wafer production sector within the broader semiconductor market due to the limited market penetration we have into this sector and the variability of orders we have experienced from the few customers we support. These shifts in market practices and customer-specific needs have had, and may continue to have, varying levels of impact on our operating results and are difficult to quantify or predict from period to period.
- 38 -

Management has taken, and will continue to take, such actions it deems appropriate to adjust our strategies, products and operations to counter such shifts in market practices as they become evident.
As discussed further in “Part I; Item 1. Business; Strategy” of our 2024 Form 10-K, although the semi market remains our largest market, as part of our strategy to grow our business, we are focused on several other key target markets where we believe our products address test and process requirements and where we believe there is significant potential for growth. These key target markets include the auto/EV, defense/aerospace, industrial, life sciences and safety/security markets. We believe that these markets are usually less cyclical than the semi market. While market share statistics exist for some of these markets, due to the nature of our highly specialized product offerings in these markets, we do not expect broad market penetration in many of these markets and, therefore, do not anticipate developing meaningful market shares in most of these markets.
In addition, because of our limited market share, our orders and revenue in any given period in these markets do not necessarily reflect the overall trends in these markets. Consequently, we are continuing to evaluate buying patterns and opportunities for growth in these, and other, markets that may affect our performance. The level of our orders and revenue in all of the markets we serve has varied in the past, and we expect will vary significantly in the future, as we work to build our presence in our current markets and establish new markets for our products.
Known Trends
Debt Covenants
As noted in “Part I; Item 1; Financial Statements; Notes to Consolidated Financial Statements; Note (10) Debt,” our Loan Agreement with M&T Bank (“M&T”) contains financial covenants, including a fixed charge coverage ratio of not less than 1.25 to 1.0. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement except for the fixed charge coverage ratio, which was 0.80 to 1.0.
The fixed charge coverage ratio is calculated over the trailing twelve months, so the net loss reported in the first and second quarters will impact our ability to meet this covenant in future periods notwithstanding our strong cash position. On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T.
Tariffs
We continue to monitor recent macroeconomic factors, including but not limited to changes in global trade policy, tariffs and related reciprocal or retaliatory trade actions announced by the U.S., China and other countries. The degree to which changes in global trade policy, tariffs and other related actions will impact our business, financial condition and results of operations depends on future developments, which are uncertain. Changes in global trade policies, tariffs and other related actions may negatively impact demand, pricing and cost for our products and technologies, contribute to the inherent uncertainties in estimating future customer demand and increase our material costs, any of which could negatively impacting our results of operations and cash flows.
Global Supply Chain Constraints
In early October 2023, Hamas attacked Israel and Israel formally declared war in response to the attack. The conflict with Hamas and others in the region is ongoing, and it is unclear when it might end. Ambrell® has a sole source supplier of capacitors used in certain of our induction heating products that is located in Israel. This supplier is the sole source supplier of capacitors for numerous induction companies, and currently there are no viable alternatives available. We have been in frequent contact with our supplier since the conflict with Hamas began. We maintain a two-to-three month safety stock on these items. Our supplier has indicated that they have large stock available at more than one facility in Israel, so they believe they have redundancies in place that will help ensure that the supply chain to their customers is uninterrupted. We continue to monitor the situation closely and are staying in close contact with our supplier. However, there can be no assurance that the situation will not worsen which could impact our ability to ship certain of our induction heating products which could have a material impact on our future results of operations.
- 39 -

Acculogic Inc. (“Acculogic”) has historically purchased certain parts from a key sole-source supplier in Belarus, which is bordered by Russia to the east and northeast and Ukraine to the south. As a result of the ongoing war between Russia and Ukraine, in August 2024, the United States, Canada and the European Union added additional sanctions on Belarus, which included adding this supplier to a list of prohibited entities. We have not received materials from this supplier since the issuance of Executive Order 14038. During the first half of 2025, the majority of our remaining supply of these materials was depleted.
We have qualified a new supplier for these materials and have a new supply of these materials on hand. Our first system incorporating these new materials shipped to one of our customers at the end of the second quarter 2025.
Additionally, we have applied to the Office of Foreign Asset Control (“OFAC”) to obtain permission for additional purchases from the Belarus supplier through December 31, 2025, but have not yet received the Office’s response and are uncertain of when that response may be received. We also applied to Global Affairs Canada for similar permission, now that this supplier has been placed on a restricted parties list in Canada, as well. A significant portion of the additional purchases from the Belarus supplier are intended to support spare parts used for repairs and warranty claims for the existing units already in service with our customers. Those specific parts from the new supplier are not compatible with those existing units. There can be no assurance that we will be granted a license by OFAC or Global Affairs Canada in a timely manner or at all, or that if granted a license by OFAC or Global Affairs Canada that such supplier in Belarus will be willing or able to provide these parts on reasonable commercial terms or at all.
In addition, while the supply chain and logistics challenges that we encountered throughout 2022 have eased, uncertainty in the global trade environment remains. As a result, we expect that we may continue to experience increased prices, lack of availability and logistics delays from time to time for the foreseeable future. The actions we have taken and are continuing to take to mitigate these risks include qualifying new vendors as alternate sources in our supply chain, increasing our inventory of raw materials and ordering further in advance of when we expect to need materials than has been our practice in the past. We have also increased the prices that we charge our customers, where appropriate, and continue to work with our customers to find alternate options for the shipment of products where they control aspects of the logistics process. However, the environment in which we operate is dynamic and shifts rapidly at times, and the success of our efforts to mitigate and address the impacts on our business may not be successful. As a result, we could see increases in our costs or reduced revenues which would impact the level of our earnings in future periods.
Please refer to “Part I; Item 1A. Risk Factors” of our 2024 Form 10-K for further discussion of the risks associated with our business operations, including risks associated with foreign operations.
Critical Accounting Estimates
The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue, expenses and related disclosure of contingent assets and liabilities. On an on-going basis, we evaluate our estimates, including those related to inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred income tax valuation allowances. We base our estimates on historical experience and on appropriate and customary assumptions that we believe to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Some of these accounting estimates and assumptions are particularly sensitive because of their significance to our consolidated financial statements and because of the possibility that future events affecting them may differ markedly from what had been assumed when the financial statements were prepared. As of June 30, 2025, there have been no significant changes to the accounting estimates that we have deemed critical. Our critical accounting estimates are more fully described in “Part I; Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations; Critical Accounting Estimates” in our 2024 Form 10-K.
Results of Operations
The results of operations for our three operating segments are generally affected by the same factors described in the Overview section above. Separate discussions and analyses for each segment would be repetitive. The discussion and analysis that follows, therefore, is presented on a consolidated basis and includes discussion of factors unique to a particular operating segment where significant to an understanding of that segment.
- 40 -

Three Months Ended June 30, 2025, Compared to Three Months Ended June 30, 2024
Revenue
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Electronic Test$13,733 $16,159 $(2,426)(15.0)%
Environmental Technologies7,215 8,273 (1,058)(12.8)%
Process Technologies7,182 9,559 (2,377)(24.9)%
Total revenue$28,130 $33,991 $(5,861)(17.2)%
The following table sets forth, for the periods indicated, a breakdown of revenue by market:
Three Months Ended
ChangeChange
June 30,June 30,March 31,
(in thousands except percentages)20252024$%2025$%
Revenue
Semi$10,192 36.2 %$10,124 29.8 %$68 0.7 %$8,995 33.8%$1,197 13.3 %
Auto/EV5,862 20.8 %10,735 31.6 %(4,873)(45.4)%5,959 22.4%(97)(1.6)%
Defense/aerospace3,578 12.7 %3,682 10.8 %(104)(2.8)%2,828 10.6%750 26.5 %
Industrial3,786 13.5 %3,415 10.0 %371 10.9 %3,021 11.3%765 25.3 %
Life Sciences1,386 4.9 %2,194 6.5 %(808)(36.8)%1,688 6.3%(302)(17.9)%
Safety/Security898 3.2 %792 2.3 %106 13.4 %564 2.1%334 59.2 %
Other2,428 8.6 %3,049 9.0 %(621)(20.4)%3,582 13.4%(1,154)(32.2)%
$28,130 100.0 %$33,991 100.0 %$(5,861)(17.2)%$26,637 100.0%$1,493 5.6 %
*     Percentages may not add up due to rounding
Compared with the prior-year period, revenue for the second quarter was down primarily from auto/EV as well as life sciences, other and defense/aerospace. This was partially offset by nominal increases in industrial, safety/security and semi. Sequentially, revenue increased compared with the trailing first quarter, due primarily to increases in semi, industrial and defense/aerospace, offset partially by a decline in other markets.
Orders and Backlog
We use orders and backlog as key performance metrics to analyze and measure our financial performance and results of operations. We define orders as purchase orders that we have accepted from our customers. Orders are recorded based on the date received and accepted by us. We believe tracking orders is useful in planning for future production needs and staffing levels and we use information about the level of our orders to make decisions about resource allocation, including appropriate levels of inventory purchases and the balance of inventory we carry at any given time. Another important operational measure used is backlog. Backlog is a common measurement used in industries with extended lead times for order fulfillment, like those in which we operate. Backlog at any given date represents the amount of net revenue that we expect to realize for unfilled orders received as of that date. We believe backlog is useful and use this information for similar reasons to those detailed above for orders. The majority of our backlog at any given time is expected to be fulfilled within the next twelve months. Depending on the terms of the purchase orders we have accepted, customers may have the ability to cancel an order or accelerate or postpone currently scheduled delivery dates. In some cases, we may have the ability to charge a cancellation fee if a purchase order we have accepted is later cancelled by a customer. Given that both orders and backlog are operational measures and our methodology for calculating orders and backlog do not meet the definition of a non-GAAP measure, as that term is defined by the SEC, a quantitative reconciliation for each is not required or provided.
- 41 -

The following table sets forth, for the periods indicated, a breakdown of the orders received by market:
Three Months Ended
ChangeChange
(in thousands except percentages)June 30, 2025June 30, 2024$%March 31, 2025$%
Orders
Semi$7,292 26.3%$11,026 42.1%$(3,734)(33.9%)$9,640 38.0%$(2,348)(24.4%)
Auto/EV7,066 25.5%4,721 18.0%2,345 49.7%5,061 20.0%2,005 39.6%
Defense/aerospace2,499 9.0%2,665 10.2%(166)(6.2%)2,083 8.2%416 20.0%
Industrial4,680 16.9%3,485 13.3%1,195 34.3%4,551 18.0%129 2.8%
Life Sciences2,863 10.3%1,025 3.9%1,838 179.3%1,232 4.9%1,631 132.4%
Safety/Security1,173 4.2%81 0.3%1,092 n/m675 2.7%498 n/m
Other2,186 7.9%3,179 12.1%(993)(31.2%)2,107 8.3%79 3.7%
$27,759 100.0%$26,182 100.0%$1,577 6.0%$25,349 100.0%$2,410 9.5%
*     Percentages may not add up due to rounding
n/m    Not meaningful
Compared with the prior-year period, orders for the second quarter increased in auto/EV, life sciences, industrial and safety/security while orders declined in semi, other and defense/aerospace.
Sequentially, while overall orders increased, there remains economic uncertainty, especially in the semi market where orders declined $2.3 million.
At June 30, 2025, our backlog of unfilled orders for all products was $37.9 million compared to $47.7 million at June 30, 2024, and $38.2 million at December 31, 2024. Our backlog includes customer orders that we have accepted, substantially all of which we expect to deliver in the next twelve months. While backlog is calculated on the basis of firm purchase orders, a customer may cancel an order or accelerate or postpone currently scheduled delivery dates. Our backlog may be affected by the tendency of customers to rely on short lead times available from suppliers, including us, in periods of depressed demand. In periods of increased demand, there is a tendency towards longer lead times that has the effect of increasing backlog. As a result, our backlog at a particular date is not necessarily indicative of sales for any future period.
Gross Margin
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Gross profit$11,973 $13,797 $(1,824)(13.2)%
Gross margin42.6 %40.6 %
Gross margin improved 200 basis points in the three months ended June 30, 2025, compared to the same prior year period due to improved favorable product sales mix along with our cost reduction initiatives.
- 42 -

Selling Expense
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Selling expense$3,829 $4,105 $(276)(6.7)%
Percentage of revenue13.6 %12.1 %
Selling expense for the three months ended June 30, 2025, declined slightly compared to the prior year period, but not at the rate of the revenue decline. Sales commissions, payroll and payroll related costs decreased, however, we recognized an increase in warranty expense compared to the prior year period.
Engineering and Product Development Expense
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Engineering and product development expense$2,245 $2,218 $27 1.2 %
Percentage of revenue8.0 %6.5 %
Engineering and product development expense for the three months ended June 30, 2025, increased nominally compared to the prior year period.
General and Administrative Expense
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
General and administrative expense$5,760 $6,241 $(481)(7.7)%
Percentage of revenue20.5 %18.4 %
General and administrative expense for the three months ended June 30, 2025, decreased compared to the prior year period. The decline was due primarily to decreases in acquisition-related costs, decreases in stock-based compensation related to a decreased probability for the achievement of certain performance targets related to performance stock awards, and decreases in payroll and payroll related costs. Early in 2025 we also refocused on controlling discretionary spending and reducing non-strategic expenses. During the first quarter of 2025, we disaggregated the amortization of intangible assets and restructuring costs from general and administrative expenses in all periods presented.
Amortization of Acquired Intangible Assets
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Amortization of acquired intangible assets$850 $897 $(47)(5.2)%
Percentage of revenue3.0 %2.6 %
Amortization of acquired intangible assets for the three months ended June 30, 2025, decreased compared to the prior year period due to the declining pattern of benefit for the assets, offset partially by the impact of changes in foreign exchange rates.
- 43 -

Restructuring Costs
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Restructuring costs$216 $— $216 n/a
Percentage of revenue0.8 %— %
Restructuring costs for the three months ended June 30, 2025, represent the costs recognized for the Videology Consolidation of the Netherlands operations into our US operations in Mansfield, MA as well as the leadership transition in our Environmental Technologies division. These costs were for severance and retention accruals along with the payroll-related costs. See “Part I; Item 1. Financial Statements; Notes to Consolidated Financial Statements; Note (16) Restructuring” for further details. There were no restructuring programs in the prior year period.
Income Tax (Benefit) Expense
Three Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Income tax (benefit) expense$(80)$66 $(146)(221.2)%
Effective tax rate13.7 %22.3 %
On a quarterly basis, we record income tax (benefit) or expense based on the expected annualized effective tax rate for the various taxing jurisdictions in which we operate our businesses. For the three months ended June 30, 2025, we recorded a tax benefit based on our pre-tax loss and expected annualized rate, whereas in the comparable period we reported pre-tax income. There were no unusual tax adjustments recorded in either period.
Six Months Ended June 30, 2025, Compared to Six Months Ended June 30, 2024
Revenue
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Electronic Test$26,992 $27,275 $(283)(1.0)%
Environmental Technologies13,483 15,101 (1,618)(10.7)%
Process Technologies14,292 21,439 (7,147)(33.3)%
Total revenue$54,767 $63,815 $(9,048)(14.2)%
- 44 -

The following table sets forth, for the periods indicated, a breakdown of revenue by market:
Six Months Ended
Change
June 30,June 30,
(in thousands except percentages)20252024$%
Revenue
Semi$19,187 35.0 %$25,091 39.3 %$(5,904)(23.5)%
Auto/EV11,821 21.6 %14,693 23.0 %(2,872)(19.5)%
Defense/aerospace6,406 11.7 %6,921 10.8 %(515)(7.4)%
Industrial6,807 12.4 %7,602 11.9 %(795)(10.5)%
Life Sciences3,074 5.6 %2,847 4.5 %227 8.0 %
Safety/Security1,462 2.7 %1,333 2.1 %129 9.7 %
Other6,010 11.0 %5,328 8.3 %682 12.8 %
$54,767 100.0 %$63,815 100.0 %$(9,048)(14.2)%
*     Percentages may not add up due to rounding
Compared with the prior-year period, revenue for the six months ended June 30, 2025 was down led by declines in semi, auto/EV, industrial and defense/aerospace. This was partially offset by smaller increases in other markets, life sciences and safety/security.
Orders
The following table sets forth, for the periods indicated, a breakdown of the orders received by market:
Six Months Ended
Change
(in thousands except percentages)June 30, 2025June 30, 2024$%
Orders
Semi$16,932 31.9%$21,279 43.4%$(4,347)(20.4%)
Auto/EV12,127 22.8%8,762 17.9%3,365 38.4%
Defense/aerospace4,582 8.6%5,349 10.9%(767)(14.3%)
Industrial9,231 17.4%6,578 13.4%2,653 40.3%
Life Sciences4,095 7.7%1,723 3.5%2,372 137.7%
Safety/Security1,848 3.5%121 0.2%1,727 n/m
Other4,293 8.1%5,169 10.6%(876)(16.9%)
$53,108 100.0%$48,981 100.0%$4,127 8.4%
*     Percentages may not add up due to rounding
n/m    Not meaningful
Compared with the prior-year period, orders for the six months ended June 30, 2025 increased reflecting strength in auto/EV, industrial, life sciences and safety/security. Within semi, orders from both front and back-end were down compared to the prior year period as demand remains low.
- 45 -

Gross Margin
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Gross profit$23,029 $26,873 $(3,844)(14.3)%
Gross margin42.0 %42.1 %
Gross margin declined 10 basis points in the six months ended June 30, 2025, compared to the same prior year period due to the absorption of fixed costs on lower volumes offset partly by cost reduction initiatives. The current year period also includes the full six months impact of Alfamation™ activity.
Selling Expense
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Selling expense$8,376 $8,695 $(319)(3.7)%
Percentage of revenue15.3 %13.6 %
Selling expense for the six months ended June 30, 2025, declined slightly compared to the prior year period, but not at the rate of the revenue decline. Sales commissions, payroll, payroll related costs and advertising decreased, however, we recognized an increase in warranty expense compared to the prior year period. The full six month impact of Alfamation™ was inconsequential.
Engineering and Product Development Expense
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Engineering and product development expense$4,693 $4,200 $493 11.7 %
Percentage of revenue8.6 %6.6 %
Engineering and product development expense for the six months ended June 30, 2025, increased compared to the prior year period due to payroll and payroll related cost increases and the full six month impact of Alfamation™.
General and Administrative Expense
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
General and administrative expense$11,576 $11,658 $(82)(0.7)%
Percentage of revenue21.1 %18.3 %
General and administrative expense for the six months ended June 30, 2025, decreased compared to the prior year period due primarily to decreases in acquisition-related costs and bonus expense. Early in 2025 we also refocused on controlling discretionary spending and reducing non-strategic expenses. During the first quarter of 2025, we disaggregated the amortization of intangible assets and restructuring costs from general and administrative expenses in all periods presented.
- 46 -

Amortization of Acquired Intangible Assets
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Amortization of acquired intangible assets$1,663 $1,492 $171 11.5 %
Percentage of revenue3.0 %2.3 %
Amortization of acquired intangible assets for the six months ended June 30, 2025, increased compared to the prior year period due to the full six months impact of the additional finite-lived intangible assets acquired in the Alfamation™ acquisition.
Restructuring Costs
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Restructuring costs$529 $— $529 n/a
Percentage of revenue1.0 %— %
Restructuring costs for the six months ended June 30, 2025, represent the costs recognized for the Videology Consolidation of the Netherlands operations into our US operations in Mansfield, MA as well as the leadership transition in our Environmental Technologies division. These costs were for severance and retention accruals along with the payroll-related costs. See “Part I; Item 1. Financial Statements; Notes to Consolidated Financial Statements; Note (16) Restructuring” for further details. There were no restructuring programs in the prior year period.
Income Tax (Benefit) Expense
Six Months Ended
June 30,Change
(in thousands except percentages)20252024$%
Income tax (benefit) expense$(540)$191 $(731)(382.7)%
Effective tax rate16.0 %17.6 %
On a quarterly basis, we record income tax (benefit) or expense based on the expected annualized effective tax rate for the various taxing jurisdictions in which we operate our businesses. For the six months ended June 30, 2025, we recorded a tax benefit based on our pre-tax loss and expected annualized rate, whereas in the comparable period we reported pre-tax income. There were no unusual tax adjustments recorded in either period.
Liquidity and Capital Resources
As discussed more fully in the “Overview” section above, our business and results of operations are substantially dependent upon the demand for ATE and wafer production equipment by semiconductor manufacturers and companies that specialize in the testing of ICs. The cyclical and volatile nature of demand for this equipment makes estimates of future revenues, results of operations and net cash flows difficult.
Our primary historical source of liquidity and capital resources has been cash flow generated by our operations. In 2021, we also utilized our Credit Facility, which is discussed below, to fund our acquisitions. We manage our businesses to maximize operating cash flows as our primary source of liquidity for our short-term cash requirements, as discussed below. We use cash to fund growth in our operating assets, for new product research and development, for acquisitions and for stock repurchases. We currently anticipate that any additional long-term cash requirements related to our strategy would be funded through a combination of our cash and cash equivalents, our Credit Facility or by issuing equity.
- 47 -

Credit Facility
As discussed in “Note (10) Debt” to our consolidated financial statements in this Report, on October 15, 2021, we entered into an Amended and Restated Loan and Security Agreement with M&T which, was subsequently amended on October 28, 2021, December 30, 2021, September 20, 2022, May 2, 2024, and December 18, 2024 (as amended, the “Loan Agreement”). The Loan Agreement includes a $50.5 million non-revolving delayed draw term note (the “Term Note”) and a $10.0 million revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility has a five-year contract period that began on October 15, 2021, and, as amended, expires on May 2, 2031, and draws under the Term Note,as amended, are permissible until May 2, 2026.
At June 30, 2025, we have not borrowed any amounts under the $10.0 million Revolving Facility. Our borrowings under the Term Note are discussed below and our available drawing capacity under the Term Note at June 30, 2025, was $30.0 million. The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the Secured Overnight Financing Rate or a bank-defined base rate plus an applicable margin, depending on leverage. The Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of not more than 3.0 to 1.0 and a fixed charge coverage ratio of not less than 1.25 to 1.0. Our obligations under the Loan Agreement are secured by liens on substantially all of our tangible and intangible assets. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement, except for the fixed charge coverage ratio financial covenant which was 0.80 to 1.0 for the quarter ended June 30, 2025.
On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T.
On October 28, 2021, we drew $12 million under the Term Note to finance the acquisition of Videology®. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five-year repayment and amortization period. As a result, the annual interest rate we expect to pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.
On December 29, 2021, we drew $8.5 million under the Term Note to finance the acquisition of Acculogic. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At June 30, 2025, it was 6.6% based on current leverage.
Alfamation Debt
As discussed further in “Note (3) Acquisition,” we assumed debt with the acquisition of Alfamation™ which totaled $11.3 million as of the acquisition date. The debt acquired is comprised of both fixed and variable rate bank issued term loans as well as short-term variable rate financing backed by Alfamation™’s accounts receivable. This debt is spread across several different institutions with monthly, quarterly or semi-annual repayment schedules.
At June 30, 2025, Alfamation™’s debt was valued at $4.2 million, including $0.7 million that is backed by Alfamation™’s accounts receivable. The reduction since the acquisition date represents repayments of short-term instruments and principal payments on long-term debt, net of new borrowings that are backed by Alfamation™’s accounts receivable. The short-term variable financing rate at June 30, 2025, was 3.1%. At June 30, 2025, the weighted average interest rate payable on the bank issued term loans was 1.1% for fixed rate debt and 3.7% for variable rate debt and the overall weighted average interest rate for the bank issued term loans was 3.2%.
Total interest expense for the six months ended June 30, 2025 and 2024, related to our various debt arrangements was $0.3 million and $0.4 million, respectively.
- 48 -

Liquidity
Our cash and cash equivalents and working capital were as follows:
(in thousands)June 30, 2025December 31, 2024
Cash and cash equivalents$19,248 $19,830 
Working capital$43,889 $46,864 
As of June 30, 2025, $8.6 million, or 45%, of our cash and cash equivalents was held by our foreign subsidiaries. We currently expect our cash and cash equivalents, in combination with the borrowing capacity available under our Revolving Facility and the anticipated net cash to be provided by our operations in the next twelve months to be sufficient to support our short-term working capital requirements and other corporate requirements. Our Revolving Facility is discussed in “Note (10) Debt” to our consolidated financial statements in this Report.
Our material short-term cash requirements include payments due under our various lease agreements, recurring payroll and benefits obligations to our employees, purchase commitments for materials that we use in the products we sell and principal and interest payments on our debt. We estimate that our short-term working capital requirements currently range between $8.0 million and $10.0 million. We expect our current cash and cash equivalents, in combination with the borrowing capacity available under our Revolving Facility and the anticipated net cash to be provided by our operations to be sufficient to support these additional investments as well as our current short-term cash requirements. As discussed above in “Credit Facility” and in “Note (10) Debt”, on August 5, 2025 we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T.
Our current strategy for growth includes pursuing acquisition opportunities for complementary businesses, technologies or products. As previously discussed, we currently anticipate that any additional long-term cash requirements related to our strategy would be funded through a combination of our cash and cash equivalents, the remaining availability under the Term Note or by issuing equity. The borrowing availability under the Term Note was expanded in September 2022 as discussed above and in “Note (10) Debt” to our consolidated financial statements in this Report.
Cash Flows
Operating Activities: Net cash provided by operating activities for the six months ended June 30, 2025, was $4.8 million, an increase of $7.9 million compared to the prior year period. The increase was driven primarily by decreased revenues and collections of our accounts receivable, offset partially by the decrease in net earnings from the comparative period as a result of the net loss during the six months ended June 30, 2025, and increases in prepaids and other assets. Non-cash adjustments to net (loss) earnings increased primarily due to increased depreciation and amortization resulting from the full six month impact of Alfamation™.
Investing Activities: Net cash used in investing activities for the six months ended June 30, 2025, was $0.7 million, a decreased usage of $18.7 million compared to the prior year period. During the six months ended June 30, 2024, we used $18.7 million of cash to acquire Alfamation™, whereas in the current year period we did not have any acquisitions. Capital expenditures for property and equipment were consistent in both periods.
Financing Activities: Net cash used in financing activities for the six months ended June 30, 2025, was $5.6 million, an increased usage of $3.8 million compared to the prior year period. The increase is due to the repayments of short-term borrowings used in the Alfamation™ operations along with repayments of our long-term debt.
New or Recently Adopted Accounting Standards
See “Part I; Item 1. Financial Statements; Notes to Consolidated Financial Statements; Note (2) Summary of Significant Accounting Policies; (s) Effect of Recently Adopted Amendments to Authoritative Accounting Guidance and (t) Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted” for information concerning the implementation and impact of new or recently adopted accounting standards.
- 49 -

Off-Balance Sheet Arrangements
There were no off-balance sheet arrangements during the three months ended June 30, 2025, that have or are reasonably likely to have, a current or future effect on our financial condition, changes in financial condition, revenue or expenses, results of operations, liquidity, capital expenditures or capital resources that is material to our interests.
Item 3.QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK
This disclosure is not required for a smaller reporting company.
Item 4.CONTROLS AND PROCEDURES
Evaluation of Disclosure Controls and Procedures
We maintain disclosure controls and procedures, as such term is defined in Rule 13a-15(e) under the Exchange Act of 1934, as amended, (the “Exchange Act”). Because there are inherent limitations in all control systems, a control system, no matter how well conceived and operated, can provide only reasonable, as opposed to absolute, assurance that the objectives of the control system are met. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur because of simple error or mistake. Additionally, controls can be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the control. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Our management, including the CEO and CFO, does not expect that our disclosure controls and procedures or our internal control over financial reporting will prevent all error and all fraud. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected. Accordingly, our management has designed the disclosure controls and procedures to provide reasonable assurance that the objectives of the control system were met.
CEO/CFO Conclusions about the Effectiveness of the Disclosure Controls and Procedures
As required by Rule 13a-15(b) of the Exchange Act, InTest management, including our CEO and CFO, conducted an evaluation as of the end of the period covered by this Report, of the effectiveness of our disclosure controls and procedures. Based on that evaluation, our CEO and CFO concluded that, as of the end of the period covered by this Report, our disclosure controls and procedures were effective at the reasonable assurance level.
Changes in Internal Control Over Financial Reporting
There has been no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the period covered by this Report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
PART II. OTHER INFORMATION
Item 1.Legal Proceedings
From time to time, we may be a party to legal proceedings occurring in the ordinary course of business. We are not currently involved in any material legal proceedings.
- 50 -

Item 1A. Risk Factors
The following risk factors supplement the risk factors described in “Part I; Item 1A; Risk Factors” of our 2024 Form 10-K Report and should be read in conjunction with the risk factors described in our 2024 Form 10-K Report:
The terms and covenants relating to our credit facility could adversely impact our ability to pursue our strategy and our financial performance and liquidity, and thus we may need additional financial resources to maintain our liquidity.
Our credit facility with M&T Bank contains covenants requiring us to, among other things, provide financial and other information and to provide notice upon the occurrence of certain events affecting us or our business. These covenants also place restrictions on our ability to incur additional indebtedness, and enter into certain transactions, including selling assets, engaging in mergers or acquisitions, or engaging in transactions with affiliates. If we fail to satisfy one or more of the covenants under our credit facility, we would be in default thereunder and may be required to repay such debt with capital from other sources or otherwise not be able to draw down against our facility. Under such circumstances, we may have difficulty in locating another lender that would be willing to extend credit to us, and other sources of capital may not be available to us on reasonable terms or at all.
At December 31, 2024, we were in compliance with all of the covenants included in our Loan Agreement. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement, except for the fixed charge coverage ratio financial covenant which was 0.80 to 1.0 for the quarter ended June 30, 2025. On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T. See “Part I; Item 1. Financial Statements; Notes to Consolidated Financial Statements; Note (10) Debt” “Part I; Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations; Liquidity and Capital Resources; Credit Facility” in this Report for a discussion of the material terms of our credit facility.
U.S. tariff policies and potential global retaliatory countermeasures could increase our cost, disrupt our supply chain or affect customer purchasing activities, any of which could negatively impact our results of operations.
Changes in U.S. and foreign trade policy, including the imposition of tariffs and other retaliatory trade barriers, could adversely affect our business, financial condition, and results of operations. For example, the continued tariff negotiations have increased certain of our material costs and may force us to seek alternative suppliers or navigate through a period of reduced orders and revenues and/or unprofitability if we are unable to pass cost increases onto customers. For the six months ended June 30, 2025, approximately half of our sales were shipped to customers outside of the United States and thus we are potentially exposed to tariffs. We have seen this continued economic uncertainty result in certain customers delaying purchases to the latter half of the year. Retaliatory tariffs by China and/or other countries could further disrupt our supply chain, reduce demand for our products, or result in lost sales. The unpredictable nature of these trade policies and the potential for further escalation may increase uncertainty and volatility in our industry, which could negatively impact our financial performance.
- 51 -

Item 2.Unregistered Sales of Equity Securities and Use of Proceeds
The following table provides information with respect to purchases made by or on behalf of the Company or any “affiliated purchaser” as defined in Rule 10b-18(a)(3) under the Exchange Act, of our common stock during the three months ended June 30, 2025, including shares of common stock surrendered to us by employees to cover tax withholdings under the net settlement provisions of our restricted stock awards and those made pursuant to publicly announced plans or programs and those not made pursuant to publicly announced plans or programs.
PeriodTotal
Number
of Shares
Purchased
Average
Price Paid
Per Share
Total
Number
of Shares
Purchased
as Part of
Publicly
Announced
Plans
or Programs
Approximate
Dollar
Value of
Shares
That May
Yet Be
Purchased
Under
the Plans or
Programs
April 1-301,951 $6.31 — 
May 1-3198 $6.41 
June 1-30— $— 
Total2,049 
On March 5, 2025, our Board of Directors authorized the renewal of our previously expired share repurchase plan (the “Repurchase Plan”) whereby we may repurchase shares of our common stock on the open market with a total aggregate repurchase amount of up to $10.0 million. As of the renewal date, we had approximately $9.0 million available for repurchases under the Repurchase Plan. The Repurchase Plan may be suspended or discontinued at any time without prior notice.
There were no repurchases of shares under the Repurchase Plan during the six months ended June 30, 2025. As of June 30, 2025, we had repurchased 141,117 shares under the Repurchase Plan at a fair value of $1.0 million. All of the shares repurchased pursuant to the Repurchase Plan have been retired.
Item 3.Defaults Upon Senior Securities
None.
Item 4.Mine Safety Disclosures
Not applicable.
Item 5.Other Information
During the second quarter ended June 30, 2025, none of the Company's directors or officers (as defined in Section 16 of the Securities Exchange Act of 1934) adopted or terminated a “Rule 10b5-1 trading arrangement” or a “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408(a) of Regulation S-K of the Securities Exchange Act of 1934.
As further discussed in “Note (10) Debt,” on August 5, 2025, we entered into the Sixth Amendment to the Loan Agreement (the “Sixth Amendment”). Pursuant to the Sixth Amendment our compliance with the Fixed Charge Coverage Ratio (as described in Section 13.2 of the Loan Agreement) is suspended for the periods ending June 30, 2025 through March 31, 2026 (the “Deferment Period”). During the Deferment Period and pursuant to the Sixth Amendment all advances under the Revolving Facility will be made only at M&T’s sole and reasonable discretion. Further, in connection with the Sixth Amendment, we have entered into a Pledge and Assignment of Cash Collateral Account Agreement (the “CCA Agreement”) pursuant to which we have pledged and granted M&T a lien on and a security interest in certain assets, as described in the CCA Agreement, through the expiration of the Deferment Period.
- 52 -

The foregoing descriptions of the July Amendment and CCA Agreement are summaries only and are qualified in all respects by the provisions of the July Amendment and CCA Agreement, copies of which are attached hereto as Exhibit 10.1 and 10.2, respectively.
Item 6.Exhibits
Exhibit NumberDescriptionFormFile No.ExhibitFiling DateFiled/ Furnished Herewith
10.1
10.2
31.1
31.2
32.1+
32.2+
101.INSInline XBRL Taxonomy Instance Document
101.SCHInline XBRL Taxonomy Extension Schema Document
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document
101.LABInline XBRL Taxonomy Extension Label Linkbase Document
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document
104Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).
Filed herewith
+Furnished herewith

- 53 -

Signatures
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
InTest Corporation
Date:
August 7, 2025
/s/ Richard N. Grant, Jr.
Richard N. Grant, Jr.
President and Chief Executive Officer
(Principal Executive Officer)
Date:
August 7, 2025
/s/ Duncan Gilmour
Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary
(Principal Financial Officer)
- 54 -
EX-10.1 2 ex101sixthamendmenttoamend.htm EX-10.1 SIXTH AMENDMENT Document
Exhibit 10.1
SIXTH AMENDMENT TO AMENDED AND RESTATED LOAN AND SECURITY AGREEMENT
THIS SIXTH AMENDMENT TO AMENDED AND RESTATED LOAN AND SECURITY AGREEMENT (the “Amendment”) is effective as of August 5, 2025 (“Effective Date”), by and between INTEST CORPORATION, a Delaware corporation, (“Borrower”), AMBRELL CORPORATION, a Delaware corporation, INTEST SILICON VALLEY CORPORATION, a Delaware corporation, INTEST EMS, LLC, a Delaware limited liability company, TEMPTRONIC CORPORATION, a Delaware corporation, VIDEOLOGY IMAGING CORPORATION, a Delaware corporation, ACCULOGIC LTD., a Delaware corporation, ACCULOGIC INC., an Ontario corporation, and ALFAMATION, INC., a Delaware Corporation, formerly inTEST Italy, Inc., individually and collectively, jointly and severally, the “Guarantors”) and M&T Bank (together with its successors and assigns, Bank”).
BACKGROUND
A.Borrower, Guarantors and Bank have previously entered into a certain Amended and Restated Loan and Security Agreement dated October 15, 2021, as amended by that certain Joinder and Amendment to Amended and Restated Loan and Security Agreement dated October 28, 2021, as amended by that certain Joinder and Second Amendment to Amended and Restated Loan and Security Agreement dated December 30, 2021, as amended by that certain Third Amendment to Amended and Restated Loan and Security Agreement dated as of September 20, 2022, that certain Fourth Amendment to Amended and Restated Loan and Security Agreement dated as of May 2, 2024, and the Joinder and Fifth Amendment to Amended and Restated Loan and Security Agreement dated as of December 18, 2024 (as amended and as it may be further amended, supplemented or restated from time to time, the “Loan Agreement”), pursuant to which, inter alia, Bank agreed to extend to Borrower certain credit facilities subject to the terms and conditions set forth therein.
B.Pursuant to the Joinder and Fifth Amendment to Amended and Restated Loan and Security Agreement dated as of December 18, 2024, inTEST Italy, Inc. (“Italy”) joined the Loan Agreement and Loan Documents as a Guarantor. Borrower has informed Bank that Italy has since changed its name to Alfamation, Inc. (“Alfamation”).
C.Borrower has requested and Bank has agreed to amend the terms of the Loan Agreement in accordance with the terms and conditions hereof.
D.Capitalized terms used herein and not otherwise defined in this Amendment shall have the meanings set forth therefor in the Loan Agreement.
NOW THEREFORE, the parties hereto, intending to be legally bound hereby, agree as follows:
1.Fixed Charge Coverage Ratio. Borrower’s compliance with the Fixed Charge Coverage Ratio set forth in Section 13.2 of the Loan Agreement is hereby suspended for the testing periods commencing June 30, 2025, through March 31, 2026, and testing shall resume for the period ending June 30, 2026, and thereafter (such period, the “FCCR Deferment Period”).



2.Revolving Credit Facility – Discretionary Advances. Bank and Borrower have agreed that during the FCCR Deferment Period, all Advances under the Revolving Credit Facility shall be made only at Bank’s sole and reasonable discretion, accordingly, Section 2.1 of the Loan Agreement is hereby amended such Section in its entirety and replacing it with the following:
2.12.1    The Facility. Subject to the terms and conditions of this Agreement and the Loan Documents, Bank agrees to establish for Borrower a revolving credit facility (the “Revolving Credit Facility”) pursuant to which during the Contract Period, Bank agrees to extend to Borrower Advances under the Revolving Credit Facility, provided that, the Revolving Credit Facility Usage shall not exceed at any time the Maximum Revolving Credit Facility Amount.
2.2Notwithstanding the forgoing, effective during the FCCR Deferment Period, the Revolving Credit Facility shall be a discretionary revolving facility, pursuant to which the Bank may, in its sole and reasonable discretion, agree to extend to Borrower Advances under the Revolving Credit Facility. Borrower expressly acknowledges that because the Revolving Credit Facility is discretionary during such period, the Bank may at any time and for any reasonable reason decline to make an Advance notwithstanding the fact that the amount outstanding under the Revolving Credit Facility is less than the Maximum Revolving Credit Facility Amount.
2.3For the avoidance of doubt, after the expiration of the FCCR Deferment Period, provided that (x) Borrower is in compliance with its Fixed Charge Coverage Ratio, and (y) no Event of Default has occurred or is continuing, the Revolving Credit Facility shall resume operating as a committed facility subject to the terms and conditions set forth in the Loan Agreement.”
3.
4.Pledged Account. Borrower has agreed to provide cash collateral to Bank as additional security for repayment of the Loans, and in furtherance of the forgoing:
a.Section 9.1(j) is hereby amended in its entirety as follows:
5.“(j) all deposit accounts maintained by any Obligor with any financial institution, and during the FCCR Deferment Period specifically including the LPL Account. For the avoidance of doubt, the LPL Account shall no longer constitute collateral for the Loans and shall be automatically released from the Bank’s security interest upon the expiration of the FCCR Deferment Period, provided that Borrower is in compliance with its Fixed Charge Coverage Ratio. To the extent that the Borrower returns to compliance with its Fixed Charge Coverage Ratio, the Bank shall cooperate with the Borrower, at the Borrower’s request and expense, to provide such documentation as may be reasonably necessary to evidence the release of the LPL Account as pledged collateral.”



b.A new Section 9.6 is hereby added to the Loan Agreement as follows:
6.9.6    Pledged Account. From and after the Effective Date, Borrower hereby pledges and grants to Bank a lien on and security interest in book entry account #2679-2481 (the “LPL Account”) maintained by Borrower with LPL Financial LLC, an Affiliate of Bank to secure the repayment of the Loans. Notwithstanding the forgoing, Bank agrees that it shall, from time to time, and provided no Default or Event of Default has occurred and is continuing, permit, upon Borrower’s request, the release of funds from the LPL Account in an amount not to exceed the then aggregate amount of principal payments actually received by Bank with respect to the Term Loans pursuant to Section 7.4. Borrower acknowledges and agrees that the LPL Account is hereby included in the definition of Collateral through the expiration of the FCCR Deferment Period and Borrower’s return to Fixed Charge Covenant Ratio compliance, and that upon the occurrence and continuance of an Event of Default hereunder, Bank may apply the proceeds of the LPL Account to the Obligations in accordance with the terms hereof.”
4.Alfamation Confirmation and Ratification. Alfamation hereby expressly ratifies and confirms its status as a Guarantor and expressly ratifies all actions taken by Italy prior to the change in name.
5.Confirmation of Collateral. Nothing contained herein shall be deemed to be a compromise, satisfaction, accord and satisfaction, novation or release of any of the Loan Documents, or any rights or obligations thereunder, or a waiver by Bank of any of its rights under the Loan Documents or at law or in equity. All liens, security interests, rights and remedies granted to Bank in the Loan Documents are hereby ratified, confirmed and continued.
6.Covenants, Representations and Warranties. Borrower and each Guarantor (as applicable to itself) hereby:
6.1ratifies, confirms and agrees that the Loan Agreement, as amended by this Amendment, and all other Loan Documents are valid, binding and in full force and effect as of the date of this Amendment, and enforceable in accordance with their terms.
6.2agrees that it has no defense, set-off, counterclaim or challenge against the payment of any sums owed or owing under the Loan Documents or the enforcement of any of the terms of the Loan Documents.
6.3ratifies, confirms and continues all liens, security interests, pledges, rights and remedies granted to Bank in the Loan Documents and agrees that such liens, security interests and pledges shall secure all of the Obligations under the Loan Documents as amended by this Amendment.
6.4represents and warrants that all representations and warranties in the Loan Documents are true and complete as of the date of this Amendment.
6.5agrees that its failure to comply with or perform any of its covenants or agreements in this Amendment will constitute an Event of Default under the Loan Documents.



6.6represents and warrants that no condition or event exists after taking into account the terms of this Amendment which would constitute an Event of Default (or will, upon the giving of notice or the passage of time, or both constitute an Event of Default).
6.7represents and warrants that the execution and delivery of this Amendment by Borrower and Guarantors and all documents and agreements to be executed and delivered pursuant to this Amendment:
(a)have been duly authorized by all requisite corporate, company and/or partnership action of Borrower and Guarantors, as applicable;
(b)will not conflict with or result in a breach of, or constitute a default (or with the passage of time or the giving of notice or both, will constitute a default) under, any of the terms, conditions, or provisions of any applicable statute, law, rule, regulation or ordinance or Borrower’s or any Guarantor’s Governing Documents or any indenture, mortgage, loan or credit agreement or instrument to which Borrower or any Guarantor is a party or by which such may be bound or affected, or any judgment or order of any court or governmental department, commission, board, bureau, agency or instrumentality, domestic or foreign; and
(c)will not result in the creation or imposition of any lien, charge or encumbrance of any nature whatsoever upon any of the property or assets of Borrower or any Guarantor under the terms or provisions of any such agreement or instrument, except liens in favor of Bank.
7.Conditions.  The obligation of Bank to enter into this Amendment is subject to the fulfillment, to the satisfaction of Bank, of each of the following conditions, and all agreements, documents and other items must be in form, content and in all other respects satisfactory to Bank in its sole and reasonable discretion.  Bank is not waiving a breach of any warranty or representation made by any Borrower or Guarantor hereunder or under any agreement, document, or instrument delivered to Bank or otherwise referred to herein, and any claims and rights of the Bank resulting from any breach or misrepresentation by Borrower or any Guarantor are specifically reserved by the Bank.
7.1Searches. Bank shall have received copies of record searches (including UCC searches, patent searches, trademark searches, copyright searches and judgments, suits, bankruptcy, litigation, tax and other lien searches) against Borrower and each of the Guarantors.
7.2Executed Documents. Borrower, Guarantors and all other required persons and entities will have executed and delivered to Bank:
(a)this Amendment;
(b)a Pledge and Security Agreement in form and substance acceptable to Bank;
(c)an LPL Financial, LLC - Pledgor Notification of Pledged Account; and
(d)a resolution duly authorized by Borrower’s board of directors authorizing the execution of this Amendment, the pledge of the LPL Account and any documents related thereto;



(e)such other documents, as the Bank may reasonably require.
7.3Representations and Warranties.  All representations and warranties of Borrower and Guarantors set forth in the Loan Documents shall be true at and as of the date hereof.
7.4No Default.   No condition or event shall exist or have occurred which would constitute a default or an Event of Default hereunder or under the Loan Agreement.
7.5Other.  All other documents and legal matters in connection with the transactions contemplated by this Amendment shall have been delivered, executed or recorded.
8.Additional Documents; Further Assurances.   Borrower and Guarantors covenant and agree to execute and deliver to Bank, or to cause to be executed and delivered to Bank contemporaneously herewith, at the sole cost and expense of Borrower and Guarantors, any and all other documents, agreements, statements, resolutions, certificates, consents and information as Bank may reasonably require in connection with the matters or actions described herein.  Borrower and Guarantors further covenant and agree to execute and deliver to Bank, or to cause to be executed and delivered, at the sole cost and expense of Borrower and Guarantors, from time to time, any and all other documents, agreements, statements, certificates and information as Bank shall request to evidence or effect the terms hereof or to enforce or protect Bank’s rights.  All of such documents, agreements, statements, certificates and information shall be in form and content acceptable to Bank in its sole and reasonable discretion.
9.Certain Fees, Costs, Expenses and Expenditures. Borrower and Guarantors agree to pay all of Bank’s costs and expenses in connection with the review, preparation, negotiation, documentation and closing of this Amendment and the consummation of the transactions contemplated hereunder, including without limitation, costs, fees and expenses of counsel retained by Bank and all fees related to filings, recording of documents and searches, whether or not the transactions contemplated hereunder are consummated. Nothing contained herein shall limit in any manner whatsoever Bank’s right to reimbursement under any of the Loan Documents.
10.No Novation.    Nothing contained herein and no actions taken pursuant to the term hereof are intended to constitute a novation of the Loan Agreement or any of the Loan Documents and shall not constitute a release, termination or waiver of any of the liens, security interests, rights or remedies granted to Bank in the Loan Documents.
11.No Waiver.  Except as otherwise provided herein, nothing herein contained and no actions taken by Bank in connection herewith shall constitute nor shall they be deemed to be a waiver, release or amendment of or to any rights, remedies, or privileges afforded to Bank under the Loan Documents.  Nothing herein shall constitute a waiver by Bank of Borrower’s’ and Guarantors’ compliance with the terms of the Loan Documents, nor shall anything contained herein constitute an agreement by Bank to enter into any further amendments with Borrower and Guarantors.
12.Inconsistencies.  To the extent of any inconsistency between the terms and conditions of this Amendment and the terms and conditions of the other Loan Documents, the terms and conditions of this Amendment shall prevail.  All terms and conditions of the Loan Documents not inconsistent herewith shall remain in full force and effect and are hereby ratified and confirmed by Borrower and Guarantors.



13.Binding Effect.  This Amendment shall be binding upon and inure to the benefit of the parties hereto and their respective successors and assigns.
14.No Third Party Beneficiaries.  The rights and benefits of this Amendment and the Loan Documents shall not inure to the benefit of any third party.
15.Time of the Essence.  Time is of the essence in the performance by Borrower and Guarantors of all the obligations hereunder.
16.Headings.  The headings of the Sections of this Amendment are inserted for convenience only and shall not be deemed to constitute a part of this Amendment.
17.Severability.  The provisions of this Amendment and all other Loan Documents are deemed to be severable, and the invalidity or unenforceability of any provision shall not affect or impair the remaining provisions which shall continue in full force and effect.
18.Modifications.  No modifications of this Amendment or any of the Loan Documents shall be binding or enforceable unless in writing and signed by or on behalf of the party against whom enforcement is sought.
19.Law Governing.  This Amendment has been made, executed and delivered in the Commonwealth of Pennsylvania and will be construed in accordance with and governed by the laws of such Commonwealth, without regard to any rules or principles regarding conflicts of law or any rule or canon of construction which interprets agreements against the draftsman.
E.Counterparts; Electronic Signatures.  This Amendment and any related document may be executed in any number of counterparts, each of which when so executed and delivered shall be an original, but all of which shall together constitute one and the same instrument. Delivery of an executed counterpart of a signature page to this Amendment by telecopier, facsimile machine, portable document format (“PDF”), Electronic Signature (as defined below) or other electronic means shall be as effective as delivery of a manually executed counterpart of this Amendment. The effectiveness of any such documents and signatures shall have the same force and effect as manually signed originals and shall be binding on the parties. No party may raise the use of a telecopier, facsimile machine, PDF or other electronic means, or the fact that any signature was transmitted through the use of a telecopier, facsimile machine, PDF or other electronic means, as a defense to the enforcement of this Amendment. “Electronic Signature” means any symbol or process attached to a document or instrument and executed or adopted by a person with the intent to sign the document or instrument, including, without limitation, any digital representation of a party’s signature created by scanning such party’s signature or by any electronic signature service such as DocuSign.
4.Waiver of Right to Trial by Jury.  BORROWER, GUARANTORS AND BANK WAIVE ANY RIGHT TO TRIAL BY JURY ON ANY CLAIM, DEMAND, ACTION OR CAUSE OF ACTION (a) ARISING UNDER THIS AMENDMENT, (b) ARISING UNDER ANY OF THE OTHER LOAN DOCUMENTS OR (c) IN ANY WAY CONNECTED WITH OR RELATED OR INCIDENTAL TO THE DEALINGS OF BORROWER OR GUARANTORS, WITH RESPECT TO THIS AMENDMENT OR ANY OF THE OTHER LOAN DOCUMENTS OR THE TRANSACTIONS RELATED HERETO OR THERETO, IN EACH CASE WHETHER SOUNDING IN CONTRACT OR TORT OR OTHERWISE. BORROWER, GUARANTORS AND BANK AGREE AND CONSENT THAT ANY SUCH CLAIM, DEMAND, ACTION OR CAUSE OF ACTION SHALL BE DECIDED BY COURT TRIAL WITHOUT A JURY, AND THAT ANY PARTY TO THIS AMENDMENT MAY FILE AN ORIGINAL COUNTERPART OR A



COPY OF THIS SECTION WITH ANY COURT AS WRITTEN EVIDENCE OF THE CONSENT OF BORROWER, GUARANTORS AND BANK TO THE WAIVER OF THEIR RIGHT TO TRIAL BY JURY.  BORROWER AND GUARANTORS ACKNOWLEDGE THAT THEY HAVE HAD THE OPPORTUNITY TO CONSULT WITH COUNSEL REGARDING THIS SECTION, THAT THEY FULLY UNDERSTAND ITS TERMS, CONTENT AND EFFECT, AND THAT THEY VOLUNTARILY AND KNOWINGLY AGREE TO THE TERMS OF THIS SECTION.



IN WITNESS WHEREOF, the parties hereto, intending to be legally bound hereby, have executed this Amendment as of the date first above written.

BORROWER:
INTEST CORPORATION,
a Delaware corporation

By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Secretary, Treasurer and Chief Financial Officer
       



GUARANTORS:
AMBRELL CORPORATION,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

INTEST SILICON VALLEY CORPORATION,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

INTEST EMS, LLC,
a Delaware limited liability company


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

TEMPTRONIC CORPORATION,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

VIDEOLOGY IMAGING CORPORATION,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

ACCULOGIC LTD.,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary





ACCULOGIC INC.,
an Ontario corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary

ALFAMATION, INC.,
a Delaware corporation


By: /s/ Duncan Gilmour
Name: Duncan Gilmour
Title: Vice President, Treasurer and Secretary


BANK:
M&T BANK


By: _/s/ Steven A. Vilardi________________
Steven A. Vilardi, Vice President

EX-10.2 3 ex102pledgeandassignmentof.htm EX-10.2 PLEDGE AND ASSIGNMENT Document
Exhibit 10.2
PLEDGE AND ASSIGNMENT OF
CASH COLLATERAL ACCOUNT AGREEMENT
THIS PLEDGE AND ASSIGNMENT OF CASH COLLATERAL ACCOUNT AGREEMENT (hereinafter referred to as this “Agreement”) is dated as of August 5, 2025, by and between INTEST CORPORATION, a Delaware corporation (hereinafter referred to as “Pledgor”), to M&T BANK, a New York banking company (hereinafter referred to as “Secured Party”).
BACKGROUND
WHEREAS, Pledgor is the legal and beneficial owner and the holder of the Collateral (as hereinafter defined); and
WHEREAS, Pledgor, as Borrower, and Secured Party, among others, are parties to that certain Amended and Restated Loan and Security Agreement dated October 15, 2021, as amended from time to time, most recently by the Sixth Amendment to Amended and Restated Loan and Security Agreement of even date herewith (as amended, the “Loan Agreement”) evidencing a Revolving Credit Facility loan in the maximum principal amount of $10,000,000.00 and delayed draw Term Loans in the maximum aggregate amount of $50,500,000.00 (hereinafter referred to collectively as the “Loans”); and
WHEREAS, pursuant to the Loan Agreement Pledgor has agreed to grant to Secured Party a lien on, and security interest in the Collateral, as such term is defined below, to provide Secured Party with additional collateral to secure repayment of the Loans.
NOW, THEREFORE, for good and valuable consideration, the receipt and legal sufficiency of which are hereby acknowledged, and intending to be legally bound hereby, the parties hereto covenant and agree as follows:
1.Capitalized terms used, but not defined herein, are given the definitions set forth in the Loan Agreement. In addition to the words and terms defined in the Loan Agreement or elsewhere in this Agreement, the following words and terms shall have the following meanings, respectively, unless the context hereof otherwise clearly requires:
(a)Code” shall mean the Pennsylvania Uniform Commercial Code as in effect on the date hereof and as the same may subsequently be amended from time to time.
(b)Collateral” shall mean and include that certain book entry account No. 2679-2481 (the “Cash Collateral Account”) maintained by Pledgor with LPL Financial, LLC (“LPL”), and affiliate of Secured Party, having an initial deposit balance of Five Million Five Hundred Fifty Thousand and No/100 Dollars ($5,550,000.00), together with all funds now or hereafter on deposit therein, and all interest thereon.
2.As security for the due and punctual payment and performance in full by Borrower of the Obligations under the Loan Agreement, Pledgor hereby agrees that Secured



Party shall have, and Pledgor hereby pledges, assigns and grants to, and creates in favor of Secured Party, a first priority security interest under the Code in and to the Collateral.
3.Pledgor represents and warrants to Secured Party that Pledgor has good and marketable title to the Collateral and, except for the security interest granted to and created in favor of Secured Party hereunder, the Collateral shall be free and clear of any pledge, lien, security interest, encumbrance, option or rights of others.
4.Pledgor will faithfully preserve and protect Secured Party’s security interest in and to the Collateral as a first priority, perfected security interest under the Code, and will do all such other acts and things and will, upon request therefor by Secured Party, execute and deliver all such other documents and instruments, including, without limitation, further pledges, assignments, documents and powers of attorney with respect to the Collateral consistent with the terms of this Agreement, as Secured Party in its sole and reasonable discretion may deem necessary or advisable from time to time in order to preserve, perfect and protect Secured Party’s security interest.
5.Pledgor covenants and agrees that (a) Pledgor will defend Secured Party’s right, title and security interest in and to the Collateral and the proceeds thereof against the claims and demands of any persons whomsoever in the Collateral, (b) Pledgor will have the title and right to pledge any other property at any time hereafter pledged by it to Secured Party as security for the Loans and will likewise defend Secured Party’s right thereto and security interest therein, (c) Pledgor will not assign, transfer, pledge, or otherwise encumber any of its right, title or interest under, in or to the Collateral other than pursuant hereto without the prior written consent of Secured Party, (d) Pledgor will not take or omit to take any action the taking or the omission of which might reasonably result in a materially adverse alteration or impairment of the Collateral or of this Agreement, (e) Pledgor will not, without the prior written consent of Secured Party, waive or release any obligation of any party to the Collateral, and (f) Pledgor will execute and deliver to Secured Party and record such supplements to this Agreement and additional assignments as Secured Party may reasonably request to evidence and confirm the security interest herein granted.
6.Pledgor shall maintain the Cash Collateral Account with LPL throughout the term of the FCCR Deferment Period and shall not withdraw any of the amounts held in the Cash Collateral Account without the prior written consent of Secured Party, which consent may be withheld in Secured Party’s sole and reasonable discretion. Notwithstanding any provision contained herein to the contrary, Secured Party agrees and acknowledges that it shall permit the release of funds from the Cash Collateral Account in accordance with the terms of Section 9.6 of the Loan Agreement.
7.Upon the occurrence and continuance of an Event of Default under the Loan Agreement, Secured Party shall have such rights and remedies with respect to the Collateral or any part thereof and the proceeds thereof as provided by the Code, the Loan Agreement and such other rights and remedies with respect thereto which it may have at law or in equity or under this Agreement, including without limitation, to the extent not inconsistent with the provisions of the Code, the right to: (a) transfer all or any part of the Collateral into Secured Party’s name or into the name of its nominee (to the extent not previously done in connection with the creation and perfection of Secured Party’s security interest) and thereafter receive all cash and interest paid or payable in respect thereof, and otherwise act with respect thereto as the absolute owner thereof, and (b) apply the proceeds so received, (i) first to the payment of the costs and expenses incurred by Secured Party in connection with costs and expenses referred to in the definition of Obligations, (ii) second to the repayment of all amounts then due and unpaid on the Obligations,



whether on account of principal, interest, fees, expenses or otherwise, and (iii) then to pay the balance, if any, as required by law.
8.Upon expiration of the FCCR Deferment Period and Pledgor’s return to compliance with its Fixed Charge Coverage Ratio covenant, this Agreement shall terminate and be of no further force and effect and Secured Party shall thereupon promptly return to Pledgor such of the Collateral and such other documents delivered by Pledgor hereunder as may then be in Secured Party’s possession. Further, the Bank shall cooperate with Pledgor, at Pledgor’s request, to provide such documentation as may be reasonably necessary to evidence the release of the Cash Collateral Account as pledged collateral.
9.No failure or delay on the part of Secured Party in exercising any right, remedy, power or privilege hereunder shall operate as a waiver thereof or of any other right, remedy, power or privilege of Secured Party hereunder; nor shall any single or partial exercise of any such right, remedy, power or privilege preclude any other or further exercise thereof or the exercise of any other right, remedy, power or privilege. The rights and remedies of Secured Party under this Agreement are cumulative and not exclusive of any right or remedies which it may otherwise have.
10.All notices, statements, requests and demands given to or made upon in accordance with the provisions of this Agreement shall be given or made to the parties in accordance with the Loan Agreement.
11.This Agreement shall be binding upon and inure to the benefit of Secured Party and its successors and assigns, and Pledgor and its successors and assigns, except that Pledgor may not assign or transfer any of its obligations hereunder or any interest herein.
12.This Agreement shall be deemed to be a contract under the laws of the Commonwealth of Pennsylvania and for all purposes shall be governed by and construed in accordance with the laws of the Commonwealth of Pennsylvania excepting its rules relating to conflicts of law.




13.Any provision of this Agreement which is prohibited or unenforceable in any jurisdiction shall not invalidate the remaining provisions hereof, and any such prohibition or unenforceability in any jurisdiction shall not invalidate or render unenforceable such provisions in any other jurisdiction.
[REMAINDER OF PAGE INTENTIONALLY LEFT BLANK]

[SIGNATURES ON FOLLOWING PAGE]





[Signature Page to Pledge and Assignment of Cash Collateral Account Agreement]

IN WITNESS WHEREOF, the undersigned have executed and delivered this Pledge Agreement as of the day and year first above set forth.
WITNESS:
INTEST CORPORATION, a Delaware corporation
  /s/ Frank Coladonato    
Frank Coladonato

By: /s/ Duncan Gilmour    
Name: Duncan Gilmour
Title: CFO







EX-31.1 4 intt-20250630xex311.htm EX-31.1 Document
EXHIBIT 31.1
CERTIFICATION
I, Richard N. Grant, Jr., certify that:
1.I have reviewed this quarterly report on Form 10-Q of InTest Corporation;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.
Date: August 7, 2025
/s/ Richard N. Grant, Jr.
Richard N. Grant, Jr.
President and Chief Executive Officer

EX-31.2 5 intt-20250630xex312.htm EX-31.2 Document
EXHIBIT 31.2
CERTIFICATION
I, Duncan Gilmour, certify that:
1.I have reviewed this quarterly report on Form 10-Q of InTest Corporation;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and
5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):
(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.
Date: August 7, 2025
/s/Duncan Gilmour
Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary

EX-32.1 6 intt-20250630xex321.htm EX-32.1 Document

EXHIBIT 32.1
InTest CORPORATION
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of InTest Corporation (the "Company") on Form 10-Q for the period ended June 30, 2025 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I, Richard N. Grant, Jr., President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date:
August 7, 2025
/s/ Richard N. Grant, Jr.
Richard N. Grant, Jr.
President and Chief Executive Officer

EX-32.2 7 intt-20250630xex322.htm EX-32.2 Document

EXHIBIT 32.2
InTest CORPORATION
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of InTest Corporation (the "Company") on Form 10-Q for the period ended June 30, 2025 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I, Duncan Gilmour, Chief Financial Officer, Treasurer and Secretary of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date:
August 7, 2025
/s/ Duncan Gilmour
Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary

EX-101.SCH 8 intt-20250630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 9952151 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals) link:presentationLink link:calculationLink link:definitionLink 9952153 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952155 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952157 - Disclosure - NATURE OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 9952158 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 9952159 - Disclosure - ACQUISITION link:presentationLink link:calculationLink link:definitionLink 9952160 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 9952161 - Disclosure - PROPERTY AND EQUIPMENT link:presentationLink link:calculationLink link:definitionLink 9952162 - Disclosure - GOODWILL AND INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 9952163 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 9952164 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES link:presentationLink link:calculationLink link:definitionLink 9952165 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 9952166 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 9952167 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 9952168 - Disclosure - EARNINGS (LOSS) PER SHARE link:presentationLink link:calculationLink link:definitionLink 9952169 - Disclosure - EQUITY link:presentationLink link:calculationLink link:definitionLink 9952170 - Disclosure - STOCK-BASED COMPENSATION PLAN link:presentationLink link:calculationLink link:definitionLink 9952171 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN link:presentationLink link:calculationLink link:definitionLink 9952172 - Disclosure - RESTRUCTURING link:presentationLink link:calculationLink link:definitionLink 9952173 - Disclosure - EMPLOYEE BENEFIT PLANS link:presentationLink link:calculationLink link:definitionLink 9952174 - Disclosure - SEGMENT INFORMATION link:presentationLink link:calculationLink link:definitionLink 9955511 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 9955512 - Disclosure - ACQUISITION (Tables) link:presentationLink link:calculationLink link:definitionLink 9955513 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 9955514 - Disclosure - PROPERTY AND EQUIPMENT (Tables) link:presentationLink link:calculationLink link:definitionLink 9955515 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 9955516 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 9955517 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 9955518 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 9955519 - Disclosure - DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 9955520 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 9955521 - Disclosure - EARNINGS (LOSS) PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 9955522 - Disclosure - STOCK-BASED COMPENSATION PLAN (Tables) link:presentationLink link:calculationLink link:definitionLink 9955523 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Tables) link:presentationLink link:calculationLink link:definitionLink 9955524 - Disclosure - RESTRUCTURING (Tables) link:presentationLink link:calculationLink link:definitionLink 9955525 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables) link:presentationLink link:calculationLink link:definitionLink 9955526 - Disclosure - SEGMENT INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 9955527 - Disclosure - NATURE OF OPERATIONS (Details) link:presentationLink link:calculationLink link:definitionLink 9955528 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) link:presentationLink link:calculationLink link:definitionLink 9955529 - Disclosure - ACQUISITION - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955530 - Disclosure - ACQUISITION - Acquired assets and Liabilities Assumed (Details) link:presentationLink link:calculationLink link:definitionLink 9955531 - Disclosure - ACQUISITION - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9955532 - Disclosure - ACQUISITION - Pro Forma Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955533 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 9955534 - Disclosure - PROPERTY AND EQUIPMENT (Details) link:presentationLink link:calculationLink link:definitionLink 9955535 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Textual) link:presentationLink link:calculationLink link:definitionLink 9955536 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9955537 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9955538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9955539 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9955540 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9955541 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9955542 - Disclosure - FAIR VALUE MEASUREMENTS - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955543 - Disclosure - FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9955544 - Disclosure - FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9955545 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) link:presentationLink link:calculationLink link:definitionLink 9955546 - Disclosure - LEASES - Lease Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9955547 - Disclosure - LEASES - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9955547 - Disclosure - LEASES - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9955548 - Disclosure - LEASES - Amortization of ROU Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9955549 - Disclosure - LEASES - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955550 - Disclosure - DEBT - Outstanding Letters of Credit (Details) link:presentationLink link:calculationLink link:definitionLink 9955551 - Disclosure - DEBT - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955552 - Disclosure - DEBT - Future Maturities of Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9955553 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 9955554 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955555 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9955556 - Disclosure - EARNINGS (LOSS) PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 9955557 - Disclosure - EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 9955558 - Disclosure - STOCK-BASED COMPENSATION PLAN - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955559 - Disclosure - STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9955560 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 9955561 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9955562 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955563 - Disclosure - STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9955564 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Details Textual) link:presentationLink link:calculationLink link:definitionLink 9955565 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9955566 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details) link:presentationLink link:calculationLink link:definitionLink 9955567 - Disclosure - RESTRUCTURING (Details Textual) link:presentationLink link:calculationLink link:definitionLink 9955568 - Disclosure - RESTRUCTURING - Schedule of Restructuring Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 9955569 - Disclosure - RESTRUCTURING - Schedule of Restructuring Accrual (Details) link:presentationLink link:calculationLink link:definitionLink 9955570 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955571 - Disclosure - EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details) link:presentationLink link:calculationLink link:definitionLink 9955572 - Disclosure - SEGMENT INFORMATION - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9955573 - Disclosure - SEGMENT INFORMATION - Segment Reporting Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955574 - Disclosure - SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details) link:presentationLink link:calculationLink link:definitionLink 9955575 - Disclosure - SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 9 intt-20250630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 10 intt-20250630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 11 intt-20250630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Expected to vest (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Number Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Number Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Significant Accounting Policies [Text Block] Statistical Measurement [Domain] Statistical Measurement [Domain] Property and equipment Business Combination, Recognized Asset Acquired, Property, Plant, and Equipment Award Timing Predetermined Award Timing Predetermined [Flag] 2025 (remainder) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Gross Carrying Amount Intangible Assets, Gross (Excluding Goodwill) Indefinite-Lived Intangible Assets [Axis] Indefinite-Lived Intangible Assets [Axis] Entity File Number Entity File Number Additional Paid-in Capital Additional Paid-in Capital [Member] Interest rate swap Interest Rate Swap [Member] Number of lease payments Lessee, Operating Lease, Number Of Lease Payments Lessee, Operating Lease, Number Of Lease Payments Mt. Laurel, NJ Mt Laurel [Member] Represents information about Mt laurel. Tabular List, Table Tabular List [Table Text Block] Leases [Abstract] Business acquisition, shares of common stock issued (in shares) Business Combination, Consideration Transferred, Equity Interest, Share Issued, Number of Shares Effect of Recently Adopted and Recently Issued Amendments to Authoritative Accounting Guidance New Accounting Pronouncements, Policy [Policy Text Block] Accounts payable Increase (Decrease) in Accounts Payable Type of Restructuring [Domain] Type of Restructuring [Domain] Goodwill [Line Items] Goodwill [Line Items] Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Basic (in USD per share) Earnings Per Share, Basic Adjustment to Compensation: Adjustment to Compensation [Axis] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Shares reserved for future issuance (in shares) Common Stock, Capital Shares Reserved for Future Issuance REVENUE FROM CONTRACTS WITH CUSTOMERS Revenue from Contract with Customer [Text Block] Debt covenant, fixed charge ratio Debt Instrument Covenant Fixed Charge Coverage Ratio Represents the covenant for a debt instrument relating to the fixed charge coverage ratio. Award Date [Axis] Award Date [Axis] Total other comprehensive earnings (loss) Other comprehensive earnings (loss) Other Comprehensive Income (Loss), Net of Tax Schedule of Segment Reporting Information Schedule of Segment Reporting Information, by Segment [Table Text Block] Short term debt Short-Term Debt Inventory Disclosure [Abstract] Shares issued under Employee Stock Purchase Plan (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans Foreign currency translation impact Accounts Receivable, Allowance for Credit Loss, Foreign Currency Translation Impact Accounts Receivable, Allowance for Credit Loss, Foreign Currency Translation Impact Adjustment to Compensation, Amount Adjustment to Compensation Amount Concentration risk Concentration Risk, Percentage Consolidation Consolidation, Policy [Policy Text Block] Amortization of deferred compensation related to stock-based awards Share-Based Payment Arrangement, Noncash Expense Options Share-Based Payment Arrangement, Option [Member] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Domestic and foreign income taxes Income Taxes Paid Grantee Status [Domain] Grantee Status [Domain] Aggregate market value of RSA’s vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested Total stockholders’ equity Beginning Balance Ending Balance Equity, Attributable to Parent Measurement Frequency [Axis] Measurement Frequency [Axis] Insider Trading Policies and Procedures [Line Items] Total discount (compensation expense) Share-Based Payment Arrangement, Expense Letters of credit, renewal period Letters of Credit, Renewal Period Letters of Credit, Renewal Period Schedule of Property and Equipment Property, Plant and Equipment [Table Text Block] Common stock, shares authorized (in shares) Common Stock, Shares Authorized Goodwill and Intangible Assets Disclosure [Abstract] Patents Patents [Member] Current assets: Assets, Current [Abstract] Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Total liabilities and stockholders’ equity Liabilities and Equity Foreign Currency Foreign Currency Transactions and Translations Policy [Policy Text Block] Fair Value, Recurring Fair Value, Recurring [Member] Issuance of shares in connection with acquisition of Alfamation (in shares) Stock Issued During Period, Shares, Acquisitions Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Cover [Abstract] Maximum Maximum [Member] General and administrative expense General and Administrative Expense [Member] Accounting Policies [Abstract] Accounting Policies [Abstract] Beginning balance Ending balance Net Carrying Amount Finite-Lived Intangible Assets, Net Expiration (less than) Line of Credit Facility, Expiration Period Maturities of Lease Liabilities Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Restricted Stock Restricted Stock [Member] Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Debt Instrument [Line Items] Debt Instrument [Line Items] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Treasury Stock Treasury Stock, Common [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Pay vs Performance Disclosure [Line Items] Goodwill, Intangible And Long Lived Assets Goodwill Intangible And Long Lived Assets [Policy Text Block] The policy disclosure of goodwill intangible and long lived assets. Total Operating Lease, Liability Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Corporate portion of action charges Corporate Portion [Member] Corporate Portion Weighted average remaining contractual term, expected to vest Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Remaining Contractual Term Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Remaining Contractual Term Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] ACQUISITION Business Combination [Text Block] Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] State and Local Grant Funds Received Contingent Liability, Repayment of State and Local Grant Funds Received, Policy [Policy Text Block] Disclosure of accounting policy for contingent liability for repayment of state and local grant funds received. (Loss) earnings before income tax (benefit) expense Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Entity Shell Company Entity Shell Company Other liabilities Other Liabilities, Noncurrent Schedule of Long-Term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] The 2023 Stock Incentive Plan The 2023 Stock Incentive Plan [Member] Represents the 2023 Stock Incentive Plan. Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Operating Segments Operating Segments [Member] Compensation expense capitalized Share-Based Payment Arrangement, Amount Capitalized Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Current portion of long-term debt Long-Term Debt, Current Maturities Company Selected Measure Amount Company Selected Measure Amount 2028 Lessee, Operating Lease, Liability, to be Paid, Year Three Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Accrued expenses and other liabilities Increase (Decrease) in Other Noncurrent Liabilities Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management [Member] Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management Comprehensive earnings (loss) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Name Measure Name Beginning balance Ending balance Restructuring Reserve Letter of Credit Letter of Credit [Member] Summary of Compensation Expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Current portion of operating lease liabilities Operating Lease, Liability, Current Changes in the Fair Value of Level 3 Contingent Consideration Liabilities Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Finite-Lived Intangible Assets [Roll Forward] Finite-Lived Intangible Assets [Roll Forward] Industry Sector [Domain] Industry Sector [Domain] Deferred tax liabilities Deferred Income Tax Liabilities, Net Document Fiscal Period Focus Document Fiscal Period Focus Trade Accounts Receivable and Allowance for Credit Losses Receivable [Policy Text Block] Award Timing Method Award Timing Method [Text Block] Warehouse and Office Space Warehouse and Office Space [Member] Relating to Warehouse and Office space. Award Type [Axis] Award Type [Axis] Deferred revenue, net of current portion Contract with Customer, Liability, Noncurrent Consideration payable, additional period Business Combination, Contingent Consideration Arrangements, Additional Payment Period Business Combination, Contingent Consideration Arrangements, Additional Payment Period Long term debt Total remaining maturities of our Term Note Long-Term Debt Business Combination, Pro Forma Information Business Combination, Pro Forma Information [Table Text Block] Total assets Total assets Assets Stock-Based Compensation Share-Based Payment Arrangement [Policy Text Block] 2026 Finite-Lived Intangible Asset, Expected Amortization, Year One Trading Symbol Trading Symbol 2029 Lessee, Operating Lease, Liability, to be Paid, Year Four Business Combinations Business Combination [Policy Text Block] Vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Cash and Cash Equivalents Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block] Geographical [Domain] Geographical [Domain] Income Taxes Income Tax, Policy [Policy Text Block] Maximum employee contribution limit Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Employee Amount Maximum dollar amount of employer's annual matching contribution to a defined contribution plan Business Combination, Contingent Consideration [Table] Business Combination, Contingent Consideration [Table] Entity Address, City or Town Entity Address, City or Town CASH FLOWS FROM OPERATING ACTIVITIES Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract] Weighted Average Estimated Useful Life Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Environmental Technologies Environmental Technologies [Member] Related to Environmental Technologies segment. Technology Patented Technology [Member] Concentration Risk Type [Axis] Concentration Risk Type [Axis] INVENTORIES Inventory Disclosure [Text Block] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Restricted Stock Units (RSUs) Restricted Stock Units (RSUs) [Member] Statement of Income Location, Balance [Domain] Statement of Income Location, Balance [Domain] Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Thermal test Thermal Testing Products [Member] Represents information about Thermal products sold by the reporting entity. Purchase price Business Combination, Consideration Transferred 2029 Finite-Lived Intangible Asset, Expected Amortization, Year Four Entity Emerging Growth Company Entity Emerging Growth Company 2028 Long-Term Debt, Maturity, Year Three Entity Common Stock, Shares Outstanding (in shares) Entity Common Stock, Shares Outstanding ROU assets obtained in exchange for operating lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Options outstanding, beginning balance (in shares) Options outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member] Revenue Revenue Revenue from Contract with Customer, Including Assessed Tax October 2021 Agreement October 2021 Agreement [Member] Information related to the October 2021 Agreement. Level 2 Fair Value, Inputs, Level 2 [Member] Proceeds from shares sold under Employee Stock Purchase Plan Proceeds from shares sold under Employee Stock Purchase Plan The amount of cash inflow from shares sold under employee stock purchase plan. Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Debt Instrument, Long-term, Fixed Interest Rate Debt Debt Instrument, Long-term, Fixed Interest Rate Debt [Member] Information pertaining to the debt instrument. Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Beginning balance Ending balance Gross Carrying Amount Indefinite-Lived Intangible Assets (Excluding Goodwill) Business Combination [Domain] Business Combination [Domain] Safety/Security Security [Member] Related to security. Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Credit loss expense, net of release of unused allowance Accounts Receivable, Credit Loss Expense (Reversal) Plan Name [Axis] Plan Name [Axis] Property and Equipment Property, Plant and Equipment, Policy [Policy Text Block] PEO PEO [Member] Original L/C Issue Date Line of Credit Facility, Initiation Date Lease Contractual Term [Domain] Lease Contractual Term [Domain] Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Severance Employee Severance [Member] Weighted average remaining contractual term, exercisable Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Remaining Contractual Term March 17th, 2025 March 17th, 2025 [Member] March 17th, 2025 Backlog Customer Backlog [Member] Represents customer backlog. Acculogic Acculogic [Member] Represents Acculogic. U.S. UNITED STATES Changes in assets and liabilities: Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract] Stock options exercised Stock Issued During Period, Value, Stock Options Exercised Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member] Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Expected common stock market price volatility factor Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Retained Earnings Retained Earnings [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current May 8th, 2023 May 8th, 2023 [Member] May 8th, 2023 Annual interest rate Debt Instrument, Interest Rate, Effective Percentage Accrued Expenses and Other Current Liabilities Schedule of Accrued Liabilities [Table Text Block] Entity Address, Postal Zip Code Entity Address, Postal Zip Code Restatement Determination Date Restatement Determination Date Range of remaining lease terms (in years) Range of remaining lease terms (in years) (Year) The remaining lease term of operating leases. Share-Based Payment Arrangement [Abstract] Cash, cash equivalents and restricted cash at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation Income Statement [Abstract] Income Statement [Abstract] Interest rate swap Derivative Asset Income tax (benefit) expense Income Tax Expense (Benefit) Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Intangible assets, net Total intangible assets Intangible Assets, Net (Excluding Goodwill) Pension Adjustments Service Cost Pension Adjustments Service Cost [Member] Chief Executive Officer, Chief Financial Officer, and Division Presidents Chief Executive Officer, Chief Financial Officer, and Division Presidents [Member] Pertains to the CEO, CFO, and Division Presidents. Product and Service [Domain] Product and Service [Domain] Customer Concentration Risk Customer Concentration Risk [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Gross property and equipment Property, Plant and Equipment, Gross Inventory consigned to others Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross Life Sciences Life Sciences [Member] Related to Life Sciences. Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Business Combination [Table] Business Combination [Table] Organization, Consolidation and Presentation of Financial Statements [Abstract] Discretionary employer matching contributions Defined Contribution Plan, Employer Discretionary Contribution Amount RESTRUCTURING Restructuring and Related Activities Disclosure [Text Block] Amortization of ROU assets Operating Lease, Right-of-Use Asset, Periodic Reduction Business Combination, Recognized Asset Acquired and Liability Assumed Business Combination, Recognized Asset Acquired and Liability Assumed [Table Text Block] Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Proceeds from stock options exercised Proceeds from Stock Options Exercised City Area Code City Area Code Acquisition of business, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] All Trading Arrangements All Trading Arrangements [Member] Equity Awards Adjustments, Footnote Equity Awards Adjustments, Footnote [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Cash payments Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements Unvested shares outstanding (in shares) Unvested shares outstanding, beginning balance (in shares) Unvested shares outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number CASH FLOWS FROM INVESTING ACTIVITIES Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract] General and administrative expense General and Administrative Expense Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Retention Retention [Member] Retention Net cash provided by (used in) operating activities Cash Provided by (Used in) Operating Activity, Including Discontinued Operation (Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings Repayments of Short-Term Debt Forfeiture of unvested shares of restricted stock (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Forfeited Debt instrument term Debt Instrument, Term Useful lives Property, Plant and Equipment, Useful Life Preferred stock, par value (in USD per share) Preferred Stock, Par or Stated Value Per Share Schedule of Stock Options Valuations Assumptions Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Other current assets Business Combination, Recognized Asset Acquired, Other Asset, Current Cost of revenues Cost of Sales [Member] Interest rate in event of default intt_DebtInstrumentInterestRateInEventOfDefault Contractual interest rate for funds borrowed in event of default, under the debt agreement. Goodwill Goodwill Beginning balance Ending balance Goodwill Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Lease Costs Lease, Cost [Table Text Block] PEO Total Compensation Amount PEO Total Compensation Amount Long-Term Debt, Type [Axis] Long-Term Debt, Type [Axis] Depreciation Depreciation Amended Loan Agreement Amended Loan Agreement [Member] Represents The Loan Agreement, As Amended by the Third Amendment, the “amended Loan Agreement. Remaining 2025 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Lease Contractual Term [Axis] Lease Contractual Term [Axis] Equity Components [Axis] Equity Components [Axis] Foreign Non-US [Member] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Issuance of unvested shares of restricted stock Stock Issued During Period, Value, Restricted Stock Award, Gross NATURE OF OPERATIONS Nature of Operations [Text Block] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Number of reportable segments Number of Reportable Segments Inventories Business Combination, Recognized Asset Acquired, Inventory, Current Cash payments for: Supplemental Cash Flow Information [Abstract] Trade accounts receivable Business Combination, Recognized Asset Acquired, Receivable, Current Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Other Performance Measure, Amount Other Performance Measure, Amount Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Entity Address, State or Province Entity Address, State or Province Fair Value of Financial Instruments Fair Value Measurement, Policy [Policy Text Block] Unused borrowing capacity Debt Instrument, Unused Borrowing Capacity, Amount Total current liabilities Liabilities, Current Derivative Instrument [Axis] Derivative Instrument [Axis] Issuance of unvested shares of restricted stock (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Gross Individual: Individual [Axis] Vesting [Axis] Vesting [Axis] Engineering and product development expense Research and Development Expense [Member] Alfamation Alfamation [Member] Relating to Alfamation. Other Other Restructuring [Member] Net cash used in investing activities Cash Provided by (Used in) Investing Activity, Including Discontinued Operation Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member] Interest Interest Paid, Excluding Capitalized Interest, Operating Activity President of Environmental Technologies President of Environmental Technologies [Member] Represents the president of Environmental Technologies. Document Fiscal Year Focus Document Fiscal Year Focus Environmental Transition Environmental Transition [Member] Environmental Transition Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Lender Name [Axis] Lender Name [Axis] Right-of-use assets, net Operating Lease, Right-of-Use Asset Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Repayments of long-term debt Repayments of Long-Term Debt Entity Interactive Data Current Entity Interactive Data Current Operating lease cost Operating Lease, Cost Software Computer Software, Intangible Asset [Member] Plan Name [Domain] Plan Name [Domain] Transaction costs Business Combination, Acquisition-Related Cost, Expense Unrecognized compensation expense, period for recognition Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Weighted average remaining contractual term, outstanding Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Remaining Contractual Term Stock options exercised (in shares) Exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Equity [Abstract] Aggregate intrinsic value, exercisable Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value Business Combination, Contingent Consideration, Type [Axis] Business Combination, Contingent Consideration, Type [Axis] Schedule of Per Share Prices Related to ESPP Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block] EMPLOYEE STOCK PURCHASE PLAN Employee Stock Purchase Plan [Text Block] The entire disclosure for employee stock purchase plan. Interest Rate Swap Agreement Derivatives, Policy [Policy Text Block] SEGMENT INFORMATION Segment Reporting Disclosure [Text Block] Goodwill [Table] Goodwill [Table] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Trademarks Trademarks [Member] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Granted, fair value Share-based Compensation Arrangement By Share-based Payment Award Equity Instruments Other Than Options Granted Fair Value Fair value of awards other than options granted during the period. Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Unrealized loss on interest rate swap agreement Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Estimated fair value Business Combination, Contingent Consideration, Liability Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Leases Lessee, Leases [Policy Text Block] Amortization of acquired intangible assets Amortization Amortization of Intangible Assets Deferred tax assets Deferred Income Tax Assets, Net Capital expenditures Payments to Acquire Productive Assets Depreciation and amortization Depreciation, Depletion and Amortization Other assets Other Assets, Noncurrent Customer [Domain] Customer [Domain] Entity Central Index Key Entity Central Index Key PEO Name PEO Name L/C Expiration Date Line of Credit Facility, Expiration Date Schedule of Maturities of Long-Term Debt Schedule of Maturities of Long-Term Debt [Table Text Block] Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member] Restructuring and Other Charges Costs Associated with Exit or Disposal Activities or Restructurings, Policy [Policy Text Block] Payments Based on Performance Metrics Payments Based on Performance Metrics [Member] Represents payments based on performance metrics. Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Revolving Credit Facility Revolving Credit Facility [Member] Balance at beginning of period Balance at end of period Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Contingent consideration, net of current portion Contingent consideration - long term Business Combination, Contingent Consideration, Liability, Noncurrent Arrangement Duration Trading Arrangement Duration Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Share-Based Payment Arrangement, Tranche One Share-Based Payment Arrangement, Tranche One [Member] Thermal process Thermal Process [Member] Represents thermal process. Video imaging Video Imaging [Member] Related to video imaging. Deferred revenue, net of current portion intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent Amount of increase (decrease) in noncurrent obligation to transfer good or service to customer for which consideration has been received or is receivable. Customer deposits and deferred revenue Contract with Customer, Liability, Current Corporate expenses Other General Expense Segments [Axis] Segments [Axis] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Work in process Inventory, Work in Process, Net of Reserves Accrued warranty Product Warranty Accrual, Current Exercise Price Award Exercise Price Fair Value by Liability Class [Domain] Fair Value by Liability Class [Domain] Entity Filer Category Entity Filer Category Local Phone Number Local Phone Number Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Closing market price per share (in dollars per share) Share Price Employee stock purchase plan discount Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date STOCK-BASED COMPENSATION PLAN Share-Based Payment Arrangement [Text Block] Contingent consideration - current Business Combination, Contingent Consideration, Liability, Current Identifiable intangible assets Business Combination, Recognized Asset Acquired, Identifiable Intangible Asset, Excluding Goodwill Cash Business Combination, Recognized Asset Acquired, Cash and Cash Equivalent Expected costs Restructuring and Related Cost, Expected Cost ASSETS Assets [Abstract] Semi-annual lease payments Semi-Annual Lease Payments Semi-Annual Lease Payments Long-term debt, net of current portion Long-Term Debt, Excluding Current Maturities Industrial Industrial Market [Member] The industrial market into which the reporting entity sells products. Credit Facility [Axis] Credit Facility [Axis] Underlying Security Market Price Change Underlying Security Market Price Change, Percent 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Three Vesting [Domain] Vesting [Domain] Schedule Of Outstanding Letters Of Credit Schedule Of Outstanding Letters Of Credit [Table Text Block] Schedule of outstanding letters of credit table text block. Debt Instrument [Axis] Debt Instrument [Axis] Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value EMPLOYEE BENEFIT PLANS Retirement Benefits [Text Block] FAIR VALUE MEASUREMENTS Fair Value Disclosures [Text Block] Business Combination [Line Items] Business Combination [Line Items] Credit Facility [Domain] Credit Facility [Domain] Gross Carrying Amount Finite-Lived Intangible Assets, Gross Stockholders’ equity: Equity, Attributable to Parent [Abstract] Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member] (Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings Proceeds from Short-Term Debt Vesting rights percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Entity Address, Address Line One Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Two Debt covenant, ratio of funded debt to EBITDA intt_DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda Represents the covenant for a debt instrument relating to the ratio of consolidated funded debt to consolidated EBITDA. Engineering and product development expense Research and Development Expense Accumulated Other Comprehensive Earnings (Loss) AOCI Attributable to Parent [Member] Electronic Test Electronic Test [Member] Related to Electronic Test segment. Trade accounts receivable, allowance for credit losses Accounts Receivable, Allowance for Credit Loss, Current Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Operating lease liabilities, net of current portion Operating Lease, Liability, Noncurrent Issuance of unvested shares of restricted stock awards Stock Issued Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract] Industry Sector [Axis] Industry Sector [Axis] Mansfield, MA Mansfield [Member] Represents information about Mansfield. Fair Value as of Grant Date Award Grant Date Fair Value Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Entity Registrant Name Entity Registrant Name Other assets Increase (Decrease) in Other Noncurrent Assets Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Amount recorded in Other Liabilities for TFR Deferred Compensation Liability, Classified, Noncurrent City of Rochester and State of New York City of Rochester and State of New York [Member] Represents information related to city of Rochester and state of New York. Unvested shares of restricted stock and employee stock options (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Granted (in shares) Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Title and Position [Domain] Title and Position [Domain] Exercisable (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Forfeited (in shares) Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Unrecognized compensation expense Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Quarterly Report Document Quarterly Report Deferred income tax expense Deferred Income Taxes and Tax Credits Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Counterparty Name [Domain] Counterparty Name [Domain] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Two Number of operating segments Number of Operating Segments Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Machinery and equipment Machinery and Equipment [Member] Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Title Trading Arrangement, Individual Title Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Schedule of Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Restatement Determination Date: Restatement Determination Date [Axis] Payments to acquire business Payments to Acquire Businesses, Gross Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Finite-Lived Intangible Asset, Expected Amortization, after Year Four Non-PEO NEO Non-PEO NEO [Member] Letters of Credit Amount Outstanding Letters of Credit Outstanding, Amount Number of reporting units Number of Reporting Units Schedule of Restructuring Expenses and Accrual Restructuring and Related Costs [Table Text Block] Total cost of shares Stock Issued During Period, Value, Employee Stock Purchase Plan Liabilities Measured at Fair Value on a Recurring Basis Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] Name Trading Arrangement, Individual Name Award Type [Domain] Award Type [Domain] 2026 Lessee, Operating Lease, Liability, to be Paid, Year One Employee Stock Purchase Plan Employee Stock Purchase Plan [Member] Represents the employee stock purchase plan. Diluted (loss) earnings per share Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Diluted Equity Awards Adjustments Equity Awards Adjustments [Member] Leasehold improvements Leasehold Improvements [Member] Pension Benefits Adjustments, Footnote Pension Benefits Adjustments, Footnote [Text Block] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Debt instrument Debt Instrument, Face Amount Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Dividend yield Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Revenue recognized Contract with Customer, Liability, Revenue Recognized Business acquisition, common stock issued Business Combination, Consideration Transferred, Equity Interest Activity Related to Allowance for Credit Losses Accounts Receivable, Allowance for Credit Loss [Table Text Block] MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Name Awards Close in Time to MNPI Disclosures, Individual Name Cash payments Payments for Restructuring Unvested shares outstanding, beginning balance (in dollars per share) Unvested shares outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Restructuring Type [Axis] Restructuring Type [Axis] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Employee contributions match Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay Amortization of deferred compensation related to stock-based awards APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Accumulated other comprehensive earnings (loss) Accumulated Other Comprehensive Income (Loss), Net of Tax 2026 Long-Term Debt, Maturity, Year One Aggregate intrinsic value, outstanding Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value End user End User [Member] Customers who are the end user of the company's products. Liability Class [Axis] Liability Class [Axis] Performance-Based Restricted Stock Performance-Based Restricted Stock [Member] Represents the performance-based restricted stock. Segments [Domain] Segments [Domain] Statement of Income Location, Balance [Axis] Statement of Income Location, Balance [Axis] Award Date [Domain] Award Date [Domain] Customer A Customer A [Member] Customer A Schedule of Indefinite-Lived Intangible Assets Schedule of Indefinite-Lived Intangible Assets [Table Text Block] Performance Shares Performance Shares [Member] Aggregate Pension Adjustments Service Cost Aggregate Pension Adjustments Service Cost [Member] Impact of foreign currency translation adjustments Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Other Comprehensive Income (Loss) Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Postemployment Benefits [Abstract] Inventories Increase (Decrease) in Inventories Inventories Total inventories Inventory, Net Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Minimum Minimum [Member] Debt Instrument, Short-term, Variable Interest Rate Debt Debt Instrument, Short-term, Variable Interest Rate Debt [Member] Infoamrti0n pertaining to the debt instrument. Earnings (Loss) Per Common Share Earnings Per Share, Policy [Policy Text Block] Property and equipment, accumulated depreciation Less: accumulated depreciation Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Company Selected Measure Name Company Selected Measure Name Aggregate intrinsic value, expected to vest Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Intrinsic Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Intrinsic Value Deferred grant proceeds intt_DeferredGrantProceeds Represents the amount of deferred grant proceeds. Net (loss) earnings Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax Revenue Recognition Revenue [Policy Text Block] DEBT Debt Disclosure [Text Block] Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding Preferred Stock, Value, Issued Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Accounts payable Accounts Payable, Current Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] All Executive Categories All Executive Categories [Member] Finished goods Inventory, Finished Goods, Net of Reserves Common stock, $0.01 par value; 20,000,000.00 shares authorized; 12,559,753 and 12,457,658 shares issued, respectively; 12,477,676 and 12,378,276 shares outstanding, respectively Common Stock, Value, Issued Semi Semiconductor Market [Member] The semiconductor market into which the reporting entity sells products. Restructuring Plan [Domain] Restructuring Plan [Domain] Goodwill [Roll Forward] Goodwill [Roll Forward] Employees Share-Based Payment Arrangement, Employee [Member] Share-Based Payment Arrangement, Tranche Two Share-Based Payment Arrangement, Tranche Two [Member] Title and Position [Axis] Title and Position [Axis] Diluted (in shares) Diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Short-term variable financing rate Short-Term Debt, Weighted Average Interest Rate, at Point in Time Commitments and Contingencies Commitments and Contingencies Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Business Combination [Axis] Business Combination [Axis] Entity Small Business Entity Small Business Selling expense Selling and Marketing Expense [Member] Schedule of Revenue by Geographic Location Revenue from External Customers by Geographic Areas [Table Text Block] Exercisable (in dollars per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Flying probe and in-circuit testers Flying Probe and In-circuit Testers [Member] Related to flying probe and in-circuit testers. Business acquisition, purchase price adjustment Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred Document Transition Report Document Transition Report Other assets Business Combination, Recognized Asset Acquired, Other Asset, Noncurrent Minimum amount for invoices received Minimum Amount Required For Invoices Received Minimum amount required for invoices received. Underlying Securities Award Underlying Securities Amount Business acquisition, debt assumed Debt (current and long-term) Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Liabilities Debt Amount of debt obligations assumed in business combination. Leased premise (in square feet) Lessee, Operating Lease, Square Footage Leased Lessee, Operating Lease, Square Footage Leased Schedule of Matching Contributions Defined Contribution Plan Disclosures [Table Text Block] Equity Component [Domain] Equity Component [Domain] Document Period End Date Document Period End Date Schedule of Long-Lived Assets by Geographical Area Long-Lived Assets by Geographic Areas [Table Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Subsequent Events Subsequent Events, Policy [Policy Text Block] Inventory step-up Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Inventory Beginning balance Ending balance Accounts Receivable, Allowance for Credit Loss Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Revenue from Contract with Customer [Abstract] Short-term lease cost Short-Term Lease, Cost Deferred tax liability Business Combination, Recognized Liability Assumed, Deferred Tax Liability Operating lease liabilities Increase (Decrease) in Operating Lease Liability Employer contributions vesting period Defined Contribution Plan Employer Matching Contribution Vesting Period Defined contribution plan employer matching contribution vesting period. Document Type Document Type Level 3 Fair Value, Inputs, Level 3 [Member] EARNINGS (LOSS) PER SHARE Earnings Per Share [Text Block] Name Outstanding Recovery, Individual Name Additional paid-in capital Additional Paid in Capital Accrued expenses and other current liabilities Accrued expenses and other current liabilities Accounts Payable and Other Accrued Liabilities, Current Product and Service [Axis] Product and Service [Axis] Derivative Contract [Domain] Derivative Contract [Domain] Business Combination, Contingent Consideration, Type [Domain] Business Combination, Contingent Consideration, Type [Domain] Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Weighted average common shares outstanding: Weighted Average Common Shares Outstanding [Abstract] Weighted Average Common Shares Outstanding All Individuals All Individuals [Member] Long-Term Debt, Type [Domain] Long-Term Debt, Type [Domain] Fair Value Disclosures [Abstract] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Service/other Service and Other Products [Member] Represents information about services and other products sold by the reporting entity. Name Forgone Recovery, Individual Name President of Process Technologies President of Process Technologies [Member] Pertains to President of Environmental Technologies. Accrued expenses and other current liabilities Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date. Total current assets Assets, Current Finite-lived intangible assets: Finite-Lived Intangible Assets Acquired Statistical Measurement [Axis] Statistical Measurement [Axis] Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member] Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Share repurchase program, authorized amount Share Repurchase Program, Authorized, Amount Weighted average interest rate Debt, Weighted Average Interest Rate Thereafter Lessee, Operating Lease, Liability To Be Paid After Year Four Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Fair Value Measurement Inputs and Valuation Techniques [Line Items] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Impact of foreign currency translation adjustments Goodwill, Foreign Currency Translation, Gain (Loss) Aggregate intrinsic value of options exercised Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Settlement of employee tax liabilities in connection with treasury stock transaction Payment, Tax Withholding, Share-Based Payment Arrangement Semiconductor test Semiconductor Production Test Products [Member] Represents information about semiconductor production test products sold by the reporting entity. Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Intangible Asset, Finite-Lived [Table] Intangible Asset, Finite-Lived [Table] Current liabilities: Liabilities, Current [Abstract] Indefinite-lived intangible assets: Indefinite-Lived Intangible Assets Acquired Geographical [Axis] Geographical [Axis] Lessee, Lease, Description [Table] Lessee, Lease, Description [Line Items] Division operating income (loss) Operating Income (Loss), Adjusted Operating Income (Loss), Adjusted Grant funds received Contingent Liability Repayment Of State And Local Grant Funds Received Amount of liability recognized arising from contingent for repayment of state and local grant funds received. Forfeiture of shares of unvested restricted stock awards Forfeiture Of Unvested Shares Of Restricted Stock In Noncash Investing And Financing Activities Forfeiture Of Unvested Shares Of Restricted Stock In Noncash Investing And Financing Activities Total operating expenses Operating Expenses Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Line of credit Long-Term Line of Credit Level 1 Fair Value, Inputs, Level 1 [Member] Term Note Term Note [Member] Information related to Term Note. Revenue Business Combination, Pro Forma Information, Pro Forma Revenue Indefinite-Lived Intangible Assets [Roll Forward] Indefinite-Lived Intangible Assets [Roll Forward] Accounts payable Business Combination, Recognized Liability Assumed, Accounts Payable, Current Diluted (in USD per share) Earnings Per Share, Diluted Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] OEM/Integrator OEM, Integrators and Distributor [Member] Represents OEM, Integrators and Distributor Trade accounts receivable, net of allowance for credit losses of $464 and $423, respectively Accounts Receivable, after Allowance for Credit Loss, Current Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Title of 12(b) Security Title of 12(b) Security Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Accrued sales commissions Accrued Sales Commission, Current Contingent Consideration Liabilities Contingent Consideration Liabilities [Member] Represents contingent consideration liabilities. Treasury stock, at cost (in shares) Treasury Stock, Beginning Balance (in shares) Treasury Stock, Ending Balance (in shares) Treasury Stock, Common, Shares (Loss) earnings per common share: Earnings Per Share [Abstract] Restructuring Plan [Axis] Restructuring Plan [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Gross profit Gross Profit Amortization period Debt Instrument, Amortization Period Debt Instrument, Amortization Period Customer deposits and deferred revenue Increase (Decrease) in Contract with Customer, Liability ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Accounts Payable and Accrued Liabilities Disclosure [Text Block] Videology Consolidation Videology Consolidation [Member] Videology Consolidation Excess inventory threshold Excess Inventory Threshold Excess Inventory Threshold Business Combination, Contingent Consideration [Line Items] Business Combination, Contingent Consideration [Line Items] Less imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Other Other Multi Markets [Member] Information related to other multi markets. Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Schedule of Restricted Stock Awards Activity Nonvested Restricted Stock Shares Activity [Table Text Block] 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Two Award Timing Disclosures [Line Items] Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Granted (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Accrued wages and benefits Employee-related Liabilities, Current Measurement Frequency [Domain] Measurement Frequency [Domain] Impact of foreign currency translation adjustments Restructuring Reserve, Foreign Currency Translation Gain (Loss) PROPERTY AND EQUIPMENT Property, Plant and Equipment Disclosure [Text Block] Total lease payments Lessee, Operating Lease, Liability, to be Paid EQUITY Equity [Text Block] Trade name Trade Names [Member] Net (loss) earnings Net (loss) earnings Net Income (Loss) Attributable to Parent Expiration Date Trading Arrangement Expiration Date Weighted average grant date fair value per option (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Options vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Impact of foreign currency translation adjustments Indefinite-Lived Intangible Assets, Foreign Currency Translation Gain (Loss) Property and equipment, net of accumulated depreciation of $9,513 and $8,830, respectively Net property and equipment Property and equipment Property, Plant and Equipment, Net Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Restructuring costs Restructuring Charges Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Adoption Date Trading Arrangement Adoption Date Consideration payable, additional Business Combination, Contingent Consideration, Range of Outcomes, Maximum, Amount Reclassifications Reclassification, Comparability Adjustment [Policy Text Block] Payroll taxes and payroll related Payroll Taxes And Payroll Related [Member] Payroll Taxes And Payroll Related Purchase price per share (in dollars per share) Shares Issued, Price Per Share Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Severance and One-time Termination Benefits One-time Termination Benefits [Member] Trade accounts receivable Increase (Decrease) in Accounts Receivable Inventories Inventory, Policy [Policy Text Block] Restructuring Cost [Table] Restructuring Cost [Table] Entity Current Reporting Status Entity Current Reporting Status Operating lease term Lessee, Operating Lease, Term of Contract Customer [Axis] Customer [Axis] Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Operating (loss) income Operating Income (Loss) Consolidated Entities [Domain] Consolidated Entities [Domain] Retained earnings Retained Earnings (Accumulated Deficit) Adjustments to reconcile net (loss) earnings to net cash provided (used in) by operating activities: Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Noncash Item [Abstract] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member] Executive Category: Executive Category [Axis] Auto/EV Automotive [Member] Represents Automotive. Other divisional costs Other Operating Income (Expense), Net Proceeds from debt Proceeds from Issuance of Long-Term Debt Current Fiscal Year End Date Current Fiscal Year End Date Technology Technology-Based Intangible Assets [Member] Schedule of ESPP Activity Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block] Weighted average expected life of stock options (years) Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Other non-current liabilities Business Combination, Recognized Liability Assumed, Other Liability, Current Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member] March 6th, 2024 March 6th, 2024 [Member] March 6th, 2024 Payables and Accruals [Abstract] Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Shares available for grant and issuance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Statement [Table] Statement [Table] Other income Other Nonoperating Income (Expense) Effects of exchange rates on cash Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation CASH FLOWS FROM FINANCING ACTIVITIES Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract] Equity Awards Adjustments, Excluding Value Reported in Compensation Table Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member] Revenue Benchmark Revenue Benchmark [Member] Total purchase price Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill Contract liabilities Contract with Customer, Liability Defense/Aerospace Defense/ Aerospace [Member] Represents defense/ aerospace. Issuance of shares in connection with acquisition of Alfamation Stock Issued During Period, Value, Acquisitions Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Quarterly vesting percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Quarterly Percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Quarterly Percentage Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] All Adjustments to Compensation All Adjustments to Compensation [Member] Equity issued in conjunction with acquisition of business Noncash or Part Noncash Acquisition, Value of Liabilities Assumed Amendment Flag Amendment Flag Shares available for issuance (in shares) (up to) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized 2027 Long-Term Debt, Maturity, Year Two Treasury stock, at cost; 82,077 and 79,382 shares, respectively Treasury Stock, Common, Value LEASES Lessee, Operating Leases [Text Block] Termination Date Trading Arrangement Termination Date Lease Expiration Date Lease Expiration Date Net cash used in financing activities Cash Provided by (Used in) Financing Activity, Including Discontinued Operation Product warranties Product Warranty Obligation, Term Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Total intangible assets Intangible Assets Acquired Intangible Assets Acquired Measure: Measure [Axis] Raw materials Inventory, Raw Materials, Net of Reserves Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Schedule of Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Basic (in shares) Weighted average common shares outstanding - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Selling expense Selling Expense Share repurchase program, remaining authorized amount Share Repurchase Program, Remaining Authorized, Amount Provision for excess and obsolete inventory Excess and obsolete inventory charges Inventory Write-down Schedule of Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Segment Reporting [Abstract] M&T Bank M&T Bank [Member] Information related to M&T Bank. Chief Executive Officer and Chief Financial Officer Chief Executive Officer and Chief Financial Officer [Member] Related to Chief Executive Officer and Chief Financial Officer. Cost of revenue Cost of Revenue Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Debt Disclosure [Abstract] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Risk-free interest rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Other non-cash reconciling items Other Noncash Income, Including Adjustments Other Noncash Income, Including Adjustments Entity Tax Identification Number Entity Tax Identification Number Independent directors Share-Based Payment Arrangement, Nonemployee [Member] Grantee Status [Axis] Grantee Status [Axis] Write-offs Accounts Receivable, Allowance for Credit Loss, Writeoff Options outstanding, weighted average exercise price, beginning balance (in dollars per share) Options outstanding, weighted average exercise price, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Restructuring and Related Activities [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Consolidated Entities [Axis] Consolidated Entities [Axis] Common stock, par value (in USD per share) Common Stock, Par or Stated Value Per Share Common stock, shares issued (in shares) Beginning Balance (in shares) Ending Balance (in shares) Common Stock, Shares, Issued Weighted average remaining lease term (in years) Operating Lease, Weighted Average Remaining Lease Term Potentially dilutive securities: Dilutive Securities, Effect on Basic Earnings Per Share [Abstract] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross GOODWILL AND INTANGIBLE ASSETS Goodwill and Intangible Assets Disclosure [Text Block] Use of Estimates Use of Estimates, Policy [Policy Text Block] Impact of foreign currency translation adjustments Finite-Lived Intangible Assets, Foreign Currency Translation Gain (Loss) Obsolete inventory threshold Obsolete Inventory Threshold Obsolete Inventory Threshold Schedule of Goodwill Schedule of Goodwill [Table Text Block] Interest expense Interest Expense, Nonoperating Trading Arrangement: Trading Arrangement [Axis] Domestic and foreign income taxes payable Increase (Decrease) in Income Taxes Payable Total Shareholder Return Amount Total Shareholder Return Amount Senior Management Member Senior Management Member [Member] Senior Management Member Change in estimated fair value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings Insider Trading Arrangements [Line Items] Corporate & Other Segment Reporting, Reconciling Item, Corporate Nonsegment [Member] Security Exchange Name Security Exchange Name Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward] Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward] 2025 (remainder) Long-Term Debt, Maturity, Remainder of Fiscal Year Total liabilities Liabilities Expected to vest (in dollars per share) Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Exercise Price Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Exercise Price Line of credit facility Line of Credit Facility, Maximum Borrowing Capacity Pension Adjustments Prior Service Cost Pension Adjustments Prior Service Cost [Member] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Operating expenses: Operating Expenses [Abstract] Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Other current liabilities Other Liabilities, Current Statement [Line Items] Statement [Line Items] Business Combination, Intangible Asset, Acquired, Finite-Lived and Indefinite-Lived Business Combination, Intangible Asset, Acquired, Finite-Lived and Indefinite-Lived [Table Text Block] Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Restructuring Reserve by Type of Cost Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents Cash and Cash Equivalent Fair Value Measurement Inputs and Valuation Techniques [Table] Fair Value Measurement Inputs and Valuation Techniques [Table] Counterparty Name [Axis] Counterparty Name [Axis] Process Technologies Process Technologies [Member] Related to process technologies. Common Stock Common Stock [Member] Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Lease payments Annual Lease Payments Represents the amount of annual lease payments. Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Non-NEOs Non-NEOs [Member] Net cash used in all activities Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation Accrued professional fees Accrued Professional Fees, Current EX-101.PRE 12 intt-20250630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 14 R1.htm IDEA: XBRL DOCUMENT v3.25.2
Cover Page - shares
6 Months Ended
Jun. 30, 2025
Aug. 01, 2025
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2025  
Document Transition Report false  
Entity File Number 001-36117  
Entity Registrant Name InTest Corporation  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 22-2370659  
Entity Address, Address Line One 804 East Gate Drive,  
Entity Address, Address Line Two Suite 200  
Entity Address, City or Town Mt. Laurel  
Entity Address, State or Province NJ  
Entity Address, Postal Zip Code 08054  
City Area Code 856  
Local Phone Number 505-8800  
Title of 12(b) Security Common Stock, par value $0.01 per share  
Trading Symbol INTT  
Security Exchange Name NYSEAMER  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding (in shares)   12,477,676
Entity Central Index Key 0001036262  
Amendment Flag false  
Document Fiscal Period Focus Q2  
Document Fiscal Year Focus 2025  
Current Fiscal Year End Date --12-31  
XML 15 R2.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Current assets:    
Cash and cash equivalents $ 19,248 $ 19,830
Trade accounts receivable, net of allowance for credit losses of $464 and $423, respectively 23,349 29,495
Inventories 27,610 26,837
Prepaid expenses and other current assets 4,640 2,650
Total current assets 74,847 78,812
Property and equipment, net of accumulated depreciation of $9,513 and $8,830, respectively 4,677 4,457
Right-of-use assets, net 10,071 10,767
Goodwill 32,437 30,744
Intangible assets, net 26,647 26,376
Deferred tax assets 0 67
Other assets 974 1,065
Total assets 149,653 152,288
Current liabilities:    
Current portion of long-term debt 6,426 7,494
Current portion of operating lease liabilities 2,100 1,989
Accounts payable 6,981 7,991
Customer deposits and deferred revenue 5,598 4,989
Accrued expenses and other current liabilities 9,853 9,485
Total current liabilities 30,958 31,948
Operating lease liabilities, net of current portion 8,316 9,021
Long-term debt, net of current portion 3,667 7,538
Contingent consideration, net of current portion 441 825
Deferred revenue, net of current portion 1,367 1,432
Deferred tax liabilities 525 0
Other liabilities 1,787 1,734
Total liabilities 47,061 52,498
Commitments and Contingencies
Stockholders’ equity:    
Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding 0 0
Common stock, $0.01 par value; 20,000,000.00 shares authorized; 12,559,753 and 12,457,658 shares issued, respectively; 12,477,676 and 12,378,276 shares outstanding, respectively 125 124
Additional paid-in capital 58,604 57,658
Retained earnings 42,255 45,087
Accumulated other comprehensive earnings (loss) 2,567 (2,137)
Treasury stock, at cost; 82,077 and 79,382 shares, respectively (959) (942)
Total stockholders’ equity 102,592 99,790
Total liabilities and stockholders’ equity $ 149,653 $ 152,288
XML 16 R3.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED BALANCE SHEETS (Parentheticals) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Statement of Financial Position [Abstract]    
Trade accounts receivable, allowance for credit losses $ 464 $ 423
Property and equipment, accumulated depreciation $ 9,513 $ 8,830
Preferred stock, par value (in USD per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in USD per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 20,000,000 20,000,000
Common stock, shares issued (in shares) 12,559,753 12,457,658
Common stock, shares outstanding (in shares) 12,477,676 12,378,276
Treasury stock, at cost (in shares) 82,077 79,382
XML 17 R4.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Income Statement [Abstract]        
Revenue $ 28,130 $ 33,991 $ 54,767 $ 63,815
Cost of revenue 16,157 20,194 31,738 36,942
Gross profit 11,973 13,797 23,029 26,873
Operating expenses:        
Selling expense 3,829 4,105 8,376 8,695
Engineering and product development expense 2,245 2,218 4,693 4,200
General and administrative expense 5,760 6,241 11,576 11,658
Amortization of acquired intangible assets 850 897 1,663 1,492
Restructuring costs 216 0 529 0
Total operating expenses 12,900 13,461 26,837 26,045
Operating (loss) income (927) 336 (3,808) 828
Interest expense (119) (253) (271) (393)
Other income 463 213 707 648
(Loss) earnings before income tax (benefit) expense (583) 296 (3,372) 1,083
Income tax (benefit) expense (80) 66 (540) 191
Net (loss) earnings $ (503) $ 230 $ (2,832) $ 892
(Loss) earnings per common share:        
Basic (in USD per share) $ (0.04) $ 0.02 $ (0.23) $ 0.07
Diluted (in USD per share) $ (0.04) $ 0.02   $ 0.07
Weighted average common shares outstanding:        
Basic (in shares) 12,215,258 12,234,599 12,197,338 12,130,480
Diluted (in shares) 12,215,258 12,330,280 12,197,338 12,244,289
XML 18 R5.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Statement of Comprehensive Income [Abstract]        
Net (loss) earnings $ (503) $ 230 $ (2,832) $ 892
Unrealized loss on interest rate swap agreement (24) (44) (59) (58)
Foreign currency translation adjustments 3,266 (697) 4,763 (786)
Total other comprehensive earnings (loss) 3,242 (741) 4,704 (844)
Comprehensive earnings (loss) $ 2,739 $ (511) $ 1,872 $ 48
XML 19 R6.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Treasury Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Earnings (Loss)
Beginning Balance (in shares) at Dec. 31, 2023   12,241,925        
Beginning Balance at Dec. 31, 2023 $ 96,281 $ 122 $ (901) $ 54,450 $ 42,196 $ 414
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2023     75,758      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings 662       662  
Other comprehensive earnings (loss) (103)         (103)
Amortization of deferred compensation related to stock-based awards 349     349    
Issuance of shares in connection with acquisition of Alfamation (in shares)   187,432        
Issuance of shares in connection with acquisition of Alfamation 2,086 $ 2   2,084    
Issuance of unvested shares of restricted stock (in shares)   138,838        
Issuance of unvested shares of restricted stock 0 $ 1   (1)    
Forfeiture of unvested shares of restricted stock (in shares)   (11,200)        
Stock options exercised (in shares)   4,925        
Stock options exercised 18     18    
Shares issued under Employee Stock Purchase Plan (in shares)   4,104        
Total cost of shares 54     54    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     2,757      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (30)   $ (30)      
Ending Balance (in shares) at Mar. 31, 2024   12,566,024        
Ending Balance at Mar. 31, 2024 99,317 $ 125 $ (931) 56,954 42,858 311
Treasury Stock, Ending Balance (in shares) at Mar. 31, 2024     78,515      
Beginning Balance (in shares) at Dec. 31, 2023   12,241,925        
Beginning Balance at Dec. 31, 2023 96,281 $ 122 $ (901) 54,450 42,196 414
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2023     75,758      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings 892          
Other comprehensive earnings (loss) (844)          
Amortization of deferred compensation related to stock-based awards 913          
Ending Balance (in shares) at Jun. 30, 2024   12,591,662        
Ending Balance at Jun. 30, 2024 99,502 $ 126 $ (942) 57,660 43,088 (430)
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2024     79,382      
Beginning Balance (in shares) at Mar. 31, 2024   12,566,024        
Beginning Balance at Mar. 31, 2024 99,317 $ 125 $ (931) 56,954 42,858 311
Treasury Stock, Beginning Balance (in shares) at Mar. 31, 2024     78,515      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings 230       230  
Other comprehensive earnings (loss) (741)         (741)
Amortization of deferred compensation related to stock-based awards 564     564    
Stock options exercised (in shares)   21,155        
Stock options exercised 98 $ 1   97    
Shares issued under Employee Stock Purchase Plan (in shares)   4,483        
Total cost of shares 45     45    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     867      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (11)   $ (11)      
Ending Balance (in shares) at Jun. 30, 2024   12,591,662        
Ending Balance at Jun. 30, 2024 $ 99,502 $ 126 $ (942) 57,660 43,088 (430)
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2024     79,382      
Beginning Balance (in shares) at Dec. 31, 2024 12,457,658 12,457,658        
Beginning Balance at Dec. 31, 2024 $ 99,790 $ 124 $ (942) 57,658 45,087 (2,137)
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2024 79,382   79,382      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings $ (2,329)       (2,329)  
Other comprehensive earnings (loss) 1,462         1,462
Amortization of deferred compensation related to stock-based awards 423     423    
Issuance of unvested shares of restricted stock (in shares)   134,196        
Issuance of unvested shares of restricted stock 0 $ 1   (1)    
Forfeiture of unvested shares of restricted stock (in shares)   (27,365)        
Stock options exercised (in shares)   4,925        
Stock options exercised 18     18    
Shares issued under Employee Stock Purchase Plan (in shares)   5,374        
Total cost of shares 36     36    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     646      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (5)   $ (5)      
Ending Balance (in shares) at Mar. 31, 2025   12,574,788        
Ending Balance at Mar. 31, 2025 $ 99,395 $ 125 $ (947) 58,134 42,758 (675)
Treasury Stock, Ending Balance (in shares) at Mar. 31, 2025     80,028      
Beginning Balance (in shares) at Dec. 31, 2024 12,457,658 12,457,658        
Beginning Balance at Dec. 31, 2024 $ 99,790 $ 124 $ (942) 57,658 45,087 (2,137)
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2024 79,382   79,382      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings $ (2,832)          
Other comprehensive earnings (loss) 4,704          
Amortization of deferred compensation related to stock-based awards $ 858          
Stock options exercised (in shares) 4,925          
Ending Balance (in shares) at Jun. 30, 2025 12,559,753 12,559,753        
Ending Balance at Jun. 30, 2025 $ 102,592 $ 125 $ (959) 58,604 42,255 2,567
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2025 82,077   82,077      
Beginning Balance (in shares) at Mar. 31, 2025   12,574,788        
Beginning Balance at Mar. 31, 2025 $ 99,395 $ 125 $ (947) 58,134 42,758 (675)
Treasury Stock, Beginning Balance (in shares) at Mar. 31, 2025     80,028      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net (loss) earnings (503)       (503)  
Other comprehensive earnings (loss) 3,242         3,242
Amortization of deferred compensation related to stock-based awards 435     435    
Forfeiture of unvested shares of restricted stock (in shares)   (19,627)        
Stock options exercised (in shares)   4,592        
Stock options exercised       35    
Total cost of shares $ 35          
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     2,049      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards     $ 12      
Ending Balance (in shares) at Jun. 30, 2025 12,559,753 12,559,753        
Ending Balance at Jun. 30, 2025 $ 102,592 $ 125 $ (959) $ 58,604 $ 42,255 $ 2,567
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2025 82,077   82,077      
XML 20 R7.htm IDEA: XBRL DOCUMENT v3.25.2
CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
CASH FLOWS FROM OPERATING ACTIVITIES    
Net (loss) earnings $ (2,832) $ 892
Adjustments to reconcile net (loss) earnings to net cash provided (used in) by operating activities:    
Depreciation and amortization 3,306 2,806
Provision for excess and obsolete inventory 304 306
Amortization of deferred compensation related to stock-based awards 858 913
Deferred income tax expense 205 347
Other non-cash reconciling items (383) 47
Changes in assets and liabilities:    
Trade accounts receivable 6,865 (5,693)
Inventories 203 1,966
Prepaid expenses and other current assets (438) 1,296
Other assets (36) (118)
Operating lease liabilities (966) (765)
Accounts payable (898) (1,899)
Customer deposits and deferred revenue 272 (861)
Domestic and foreign income taxes payable (883) (851)
Deferred revenue, net of current portion (65) (75)
Accrued expenses and other liabilities (665) (1,326)
Net cash provided by (used in) operating activities 4,847 (3,015)
CASH FLOWS FROM INVESTING ACTIVITIES    
Acquisition of business, net of cash acquired 0 (18,727)
Purchases of property and equipment (691) (656)
Net cash used in investing activities (691) (19,383)
CASH FLOWS FROM FINANCING ACTIVITIES    
(Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings (3,613)  
(Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings   1,120
Repayments of long-term debt (2,050) (3,129)
Proceeds from stock options exercised 18 116
Proceeds from shares sold under Employee Stock Purchase Plan 60 84
Settlement of employee tax liabilities in connection with treasury stock transaction (17) (41)
Net cash used in financing activities (5,602) (1,850)
Effects of exchange rates on cash 864 (642)
Net cash used in all activities (582) (24,890)
Cash, cash equivalents and restricted cash at beginning of period 19,830 45,260
Cash and cash equivalents at end of period 19,248 20,370
Cash payments for:    
Domestic and foreign income taxes 145 1,153
Interest 266 406
SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES    
Equity issued in conjunction with acquisition of business 0 2,086
Issuance of unvested shares of restricted stock awards 1,039 1,580
Forfeiture of shares of unvested restricted stock awards $ (557) $ (138)
XML 21 R8.htm IDEA: XBRL DOCUMENT v3.25.2
NATURE OF OPERATIONS
6 Months Ended
Jun. 30, 2025
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
NATURE OF OPERATIONS NATURE OF OPERATIONS
InTest Corporation (“InTest,” “we,” “our,” “us” and the “Company”), a Delaware corporation headquartered in Mount Laurel, New Jersey, is a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including semiconductors (“semi”), auto/EV, defense/aerospace, industrial, life sciences, safety/security and other. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.
The consolidated entity is comprised of InTest Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada, Italy and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Italy, Germany, Singapore, Malaysia, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.
Founded in 1981, we completed our initial public offering in June 1997 and currently trade on the NYSE American exchange under the symbol “INTT.”
All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.
The semi market, which includes both the broader semi market, as well as the more specialized automated test equipment (“ATE”) and wafer production sectors within the broader semi market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.
Our Electronic Test segment sells its products to semiconductor manufacturers and third-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“OEM”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and third-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the December 2021 acquisition of Acculogic Inc. and its affiliates (“Acculogic”) and the March 2024 acquisition of Alfamation S.p.A (“Alfamation”), our Electronic Test segment also sells its products to customers in markets outside the semi market including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial, life sciences and safety/security markets.
Our financial results are affected by a wide variety of factors, including, but not limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that may cause us to incur substantial expense in reviewing and evaluating potential transactions. We may or may not be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we may not be able to successfully integrate any business we do acquire with our existing business, and we may not be able to operate the acquired business profitably. As a result of these or other factors, we may experience significant period-to-period fluctuations in future operating results.
XML 22 R9.htm IDEA: XBRL DOCUMENT v3.25.2
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
6 Months Ended
Jun. 30, 2025
Accounting Policies [Abstract]  
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
(a) Basis of Presentation and Use of Estimates
The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”) filed on March 13, 2025, with the Securities and Exchange Commission (“SEC”).
(b) Reclassifications
Certain prior period presentation and amounts have been reclassified to conform with the current period’s presentation. These consist of:
aggregating the components of property and equipment on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions and other current liabilities into accrued expenses and other current liabilities on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating our restricted certificates of deposit into other assets on the face of the consolidated balance sheets and disclosing the details in the footnotes
disaggregating amortization of acquired intangible assets from general and administrative expenses on the face of our consolidated statements of operations
aggregating foreign exchange (gain) loss, discount on shares sold under Employee Stock Purchase Plan, proceeds from sales of demonstration equipment, net of gain, into other non-cash reconciling items within adjustments to reconcile net (loss) earnings to cash provided by operating activities on the consolidated statements of cash flows
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions, other current liabilities and other liabilities into accrued and other liabilities within changes in assets and liabilities for cash flows from operating activities on the consolidated statements of cash flows.
(c) Business Combinations
Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statements of operations in the period of the estimated
fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.
See “Note (3) Acquisition” for further disclosures related to our March 12, 2024, purchase of Alfamation™.
(d) Cash & Cash Equivalents
Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.
Periodically we have restricted cash which represents amounts deposited at our banks to support bank guarantees which certain of our customers require as a condition of paying large deposits on orders they place with us. Typically, the amount of the deposit and related guarantee declines as shipments are made against the order. At June 30, 2025 and December 31, 2024, we had no amounts classified as restricted cash.
(e) Trade Accounts Receivable and Allowance for Credit Losses
Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers’ financial condition. We follow the guidance in Accounting Standards Codification (“ASC”) Topic 326 - Financial Instruments – Credit Losses (“ASC 326”) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.
Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.
(f) Inventories
Inventories are generally valued at cost on a first-in, first-out basis, not in excess of net realizable value, except inventory acquired in a business combination, which is recorded at fair value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories.
(g) Property and Equipment
Our property and equipment caption includes machinery, equipment and leasehold improvements which are stated at cost, except for machinery and equipment acquired in a business combination, which are stated at fair value at the time of acquisition. As disclosed in “(h) Goodwill, Intangible and Long-Lived Assets,” machinery and equipment that has been determined to be impaired is written down to its fair value at the time of the impairment. Depreciation for machinery and equipment is based upon the estimated useful life of the assets using the straight-line method. The estimated useful lives range from one to ten years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset.
(h) Goodwill, Intangible and Long-Lived Assets
We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.
We account for goodwill and intangible assets in accordance with ASC Topic 350 - Intangibles - Goodwill and Other (“ASC 350”). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.
Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized.
The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.
Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.
Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management’s best estimates using appropriate assumptions and projections at that time.
(i) Fair Value of Financial Instruments
ASC Topic 820 - Fair Value Measurement (“ASC 820”) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.
ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:
Level 1: Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.
Level 2: Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.
Level 3: Valuations based on inputs that are unobservable and significant to the overall fair value measurement.
To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument’s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.
Our financial instruments include cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short-term nature of those items. Our credit facility and our interest rate swap are discussed further below and in “Note (10) Debt.” Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See “Note (7) Fair Value Measurements” for further disclosures related to the fair value of our liabilities for contingent consideration.
(j) State and Local Grant Funds Received
In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell Corporation (“Ambrell®”), occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $0.6 million to help offset a portion of the cost of the leasehold improvements we made to this facility. In exchange for the funds we received under these agreements, we were required to create and maintain specified levels of employment in this location through various dates ending in 2024. As of December 31, 2024, we met those employment targets as specified in the grant agreement with the city of Rochester. The remaining proceeds which were no longer subject to repayment were reclassified to deferred grant proceeds and will be amortized to income on a straight-line basis over the current remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheets and totaled $0.3 million at June 30, 2025.
(k) Leases
We account for leases in accordance with ASC Topic 842 -Leases (“ASC 842”). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the
economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.
ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.
We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.
Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.
We have made an accounting policy election not to apply the recognition requirements of ASC 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.
See “Note (9) Leases” for further disclosures regarding our leases.
(l) Interest Rate Swap Agreement
We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in “Note (7) Fair Value Measurements” and “Note (10) Debt.” The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with a portion of our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 - Derivatives and Hedging. Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Our interest rate swap is recorded at fair value as a component of other assets in our balance sheets. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. We recognize the change in the fair value of the interest rate swap as a component of the change in other assets in our statements of cash flows.
(m) Revenue Recognition
We recognize revenue in accordance with the guidance in ASC Topic 606 - Revenue from Contracts with Customers. We recognize revenue for the sale of products or services at the amount of consideration we expect to receive for those goods or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable
of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.
We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Shipping and handling fees billed to customers are included in revenue, while shipping and handling costs are included in cost of revenue.
Nature of Products and Services
We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including semi, industrial, auto/EV, life sciences, defense/aerospace and safety/security. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We sell thermal management products including ThermoStream®, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic®, Sigma, Thermonics® and North Sciences product lines, and Ambrell®’s precision induction heating systems, including EKOHEAT® and EASYHEAT products. As a result of the acquisition of Videology®, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We also sell many of our products to various other markets including the industrial, auto/EV, life sciences, defense/aerospace and safety/security markets. We provide post-warranty service and support for the equipment we sell.
We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.
Types of Contracts with Customers
Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed-upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.
Contract Balances
We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our consolidated balance sheets. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Customer deposits are included in current liabilities on our consolidated balance sheets. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. Deferred revenue estimated to be recognized within the next twelve months is included in current liabilities. Deferred revenue that we estimate will be recognized beyond twelve months is recorded in deferred revenue, net of current portion, on our consolidated balance sheets. Any non-inventoriable costs associated with deferred revenue are also deferred and recorded in prepaid expenses and other current assets or other assets on our consolidated balance sheets, depending on when the related deferred revenue is expected to be recognized.
As discussed above, we follow the guidance in ASC 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.
Costs to Obtain a Contract with a Customer
The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.
Product Warranties
In connection with the sale of our products, we generally provide standard one- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.
See “Note (11) Revenue From Contracts With Customers” and “Note (18) Segment Information” for further information about our revenue from contracts with customers.
Earnings (Loss) Per Common Share
Earnings (loss) per common share - basic is computed by dividing net earnings (loss) by the weighted average number of common shares outstanding during each period. Earnings (loss) per common share - diluted is computed by dividing earnings (loss) by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock, performance-based restricted stock, restricted stock units and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.
(o) Stock-Based Compensation
We account for stock-based compensation in accordance with ASC Topic 718 - Compensation—Stock Compensation which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. We generally grant awards in the first quarter of the year and recognize forfeitures of awards as they occur, recapturing any expense recorded for unvested awards.
The fair value of our stock options on the date of grant is determined using the Black-Scholes option pricing model, which requires the use of certain assumptions, including the expected volatility of our stock price, the expected term of the option, the risk-free rate and the expected dividend yield. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.
We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees. Prior to 2025, restricted stock awards granted to our independent directors vested 25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted. Beginning in 2025, restricted stock awards granted to our independent directors vest on the one-year anniversary of the grant date.
We also grant performance-based restricted stock awards where the ultimate number of shares that vest can vary and is based on the achievement of specific performance metrics. The grant date fair value of these awards is based on the quoted market price of our stock on the date of grant. Vesting for performance-based awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for performance-based
awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjusted as needed. Our initial assumption at the grant date of these performance-based awards is that the award will vest at 100%.
From time to time, as restricted stock awards vest, certain employees surrender their vested shares to satisfy their tax liability on vesting. The fair value of those shares on the vesting date are then used by us to pay those employees’ tax obligations. The shares surrendered are reported as treasury stock in our statements of stockholders’ equity.
See further disclosures related to our stock-based compensation plans in “Note (14) Stock-Based Compensation Plan.”
(p) Foreign Currency
For our foreign subsidiaries whose functional currencies are not the U.S. dollar, assets and liabilities are translated using the exchange rate in effect at the balance sheet date. The results of operations are translated using an average exchange rate for the period. The effects of rate fluctuations in translating assets and liabilities of these international operations into U.S. dollars are included in accumulated other comprehensive earnings in stockholders’ equity. Transaction gains or losses are included in net earnings. For the six months ended June 30, 2025 and 2024, our net foreign currency transaction gains were immaterial.
(q) Income Taxes
We account for income taxes using the asset and liability method, as described in ASC Topic 740 – Income Taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.
Recognition and measurement of uncertain tax positions in our financial statements involves a determination of whether it is more likely than not that a tax position will be sustained upon examination with the presumption that the tax position will be examined by the appropriate taxing authority having full knowledge of all relevant information. Our policy is to record interest and penalties associated with unrecognized tax benefits as additional income taxes in the statements of operations.
(r) Restructuring and Other Charges
In accordance with the guidance in ASC Topic 420 - Exit or Disposal Cost Obligations, we recognize a liability for restructuring costs at fair value only when the liability is incurred. Workforce-related charges are accrued when it is determined that a liability has been incurred, which is generally after individuals have been notified of their termination dates and expected severance benefits. Depending on the timing of the termination dates, these charges may be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities may result in lease termination fees and impairment charges related to our ROU assets that are associated with the leases for these facilities. Other long-lived assets that may be impaired as a result of restructuring consist of property and equipment, goodwill and intangible assets. Asset impairment charges included in restructuring and other charges are based on an estimate of the amounts and timing of future cash flows related to the expected future remaining use and ultimate sale or disposal of the asset, and, in the case of our ROU assets, would include expected future sublease rental income, if applicable. These estimates are derived using the guidance in ASC 842, ASC 350 and ASC Topic 360 - Property, Plant and Equipment.
(s) Effect of Recently Adopted Amendments to Authoritative Accounting Guidance
In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (“ASU 2023-07”) which amends the guidance for disclosures for reportable segments. ASU 2023-07 introduced new requirements to disclose significant segment expenses regularly provided to the chief operating decision maker (“CODM”), extends certain annual disclosures to interim periods, clarifies that single reportable segment entities must apply ASC 280 – Segment Reporting
in its entirety, permits more than one measure of segment profit or loss to be reported under certain conditions, and requires disclosure of the title and position of the CODM. Our adoption of ASU 2023-07 had no impact on our consolidated financial statements. We have retrospectively applied the amendments to our interim footnote disclosures beginning January 1, 2025, as permitted.
(t) Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted
In November 2024, the FASB issued ASU 2024-03, Income Statement—Reporting Comprehensive Income—Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses (“ASU 2024-03”) that requires additional disclosure of certain costs and expenses, including amounts of inventory purchases, employee compensation, and depreciation and amortization included in each income statement line item. ASU 2024-03 also requires disclosure of the total amount of selling expenses and our definition of selling expenses. This update is effective for fiscal years beginning after December 15, 2026, and for interim periods beginning after December 15, 2027, and may be adopted on a prospective basis at the effective date or retrospectively applied to all periods presented. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
In March 2024, the SEC issued a new final rule in Release 33-11275, The Enhancement and Standardization of Climate-Related Disclosures for Investors, which requires the inclusion of climate-related information in registration statements and annual reports. Among other things, the new rule requires disclosure of material climate-related risks, activities related to adapting to or mitigating such risks, related oversight activities, and information on climate-related targets or goals. Information is also required of certain greenhouse gas emissions. Disclosure requirements were to begin phasing in for fiscal years beginning on or after January 1, 2025, however on April 4, 2024, the SEC issued a voluntary stay (SEC Release 33-11280) in response to pending litigation. Therefore, the implementation dates are currently on hold. We are monitoring SEC developments and evaluating the impact of the new rule on our consolidated financial statements.
In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (“ASU 2023-09”). The amendments require entities to annually disclose the income tax rate reconciliation using both amounts and percentages, considering several categories of reconciling items, including state and local income taxes, foreign tax effects, tax credits and nontaxable or nondeductible items, among others. Disclosure of the reconciling items is subject to a quantitative threshold and disaggregation by nature and jurisdiction. The amendments also require entities to disclose net income taxes paid or received to federal, state and foreign jurisdictions, as well as by individual jurisdiction, subject to a five percent quantitative threshold. The amendments may be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after December 15, 2024, with early adoption permitted. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
(u) Subsequent Events
We have made an assessment of our operations and with the exception of the debt amendment noted in “Note (10) Debt,” determined that there were no other material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2025.
On July 4, 2025, President Trump signed the One Big Beautiful Bill Act (“OBBBA”), enacting a broad range of tax reform provisions, including extending and modifying certain domestic and international Tax Cut & Jobs Act provisions and expanding certain Inflation Reduction Act incentives while accelerating the phase-out of others. Only certain provisions will have current-year financial reporting implications due to varying effective dates and discretionary elections. We are currently analyzing the OBBBA but do not anticipate a material impact to our consolidated financial statements.
XML 23 R10.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION
6 Months Ended
Jun. 30, 2025
Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]  
ACQUISITION ACQUISITION
On March 12, 2024, we completed the acquisition of Alfamation S.p.A., an Italian joint-stock company. Alfamation™ is a leading global provider of state-of-the-art test and measurement solutions for the auto/EV, life sciences and specialty consumer electronics markets. Alfamation™ is included in our Electronic Test operating segment. The acquisition of Alfamation™ deepens our presence in the auto/EV and life science markets, expands our exposure in consumer electronics, extends our geographic reach with a sizable footprint in Europe, and widens our portfolio of products and solutions. Additionally, we believe Alfamation™ brings engineering talent and a management team that culturally aligns
with our mission to provide innovative, engineered solutions that address the high-value challenges of our customers. The aggregate purchase price was approximately €20.0 million comprised of: (i) €18.0 million, or $19.7 million, in cash; and (ii) 187,432 shares of our common stock, valued at $2.1 million based on the closing price of our stock on the date of acquisition. The cash portion of the purchase price was subject to customary working capital adjustments. These adjustments were finalized in June 2024 and resulted in recording an additional €0.1 million, or $0.1 million, in purchase price for assets delivered at closing in excess of agreed upon thresholds. The liabilities assumed in connection with the acquisition included debt of approximately €10.3 million, or $11.3 million. The debt assumed is discussed further in “Note (10) Debt.” Total acquisition costs incurred to complete this transaction were $1.2 million. Acquisition costs were expensed as incurred and included in general and administrative expense.
The acquisition of Alfamation™ has been accounted for as a business combination using purchase accounting, and, accordingly, the results of Alfamation™ have been included in our consolidated results of operations from the date of acquisition. During the fourth quarter of 2024 we completed our allocation of the estimated fair values as of March 12, 2024, with final adjustments made primarily to inventories, identifiable intangible assets and goodwill. The “inventory step-up” of approximately $1.6 million was the most significant adjustment. Partially offsetting the decrease in customer backlog were increases to acquired technology and customer relationships. Other less significant changes affected property and equipment, other current assets, accrued expenses and deferred tax liability. The excess of the purchase price over the identifiable intangible and net tangible assets was allocated to goodwill and is not deductible for tax purposes. Goodwill is attributed to synergies that are expected to result from the operations of the combined businesses.
The total purchase price of $21.9 million has been allocated as follows:
(in thousands)March 12,
2024
Goodwill$9,883 
Identifiable intangible assets13,332 
Tangible assets acquired and liabilities assumed:
Cash1,088 
Trade accounts receivable6,061 
Inventories13,117 
Other current assets1,468 
Property and equipment1,739 
Other assets1,755 
Accounts payable(4,669)
Accrued expenses and other current liabilities(5,221)
Deferred tax liability(2,326)
Debt (current and long-term)(11,274)
Other non-current liabilities(3,052)
Total purchase price$21,901 
We estimated the fair value of identifiable intangible assets acquired using the income approach. Identifiable intangible assets acquired include customer relationships, customer backlog, technology and a trade name. We are amortizing the finite-lived intangible assets acquired over their estimated useful lives based on the pattern in which the economic benefits of the intangible asset are expected to be consumed.
The following table summarizes the estimated fair value of Alfamation™’s identifiable intangible assets and their estimated useful lives as of the acquisition date:
Fair
Value
Weighted
Average
Estimated
Useful Life
(in thousands except lives)(in years)
Finite-lived intangible assets:
Customer relationships$8,196 20.0
Technology3,169 10.0
Total finite-lived intangible assets11,365 
Indefinite-lived intangible assets:
Trade name1,967 
Total intangible assets$13,332 
The following unaudited pro forma information gives effect to the acquisition of Alfamation™ as if the acquisition occurred on January 1, 2024. These proforma summaries do not reflect any operating efficiencies or costs savings that may be achieved by the combined businesses. These proforma summaries are presented for informational purposes only and are not necessarily indicative of what the actual results of operations would have been had the acquisition taken place as of that date, nor are they indicative of future consolidated results of operations:
Six Months Ended
June 30,
(in thousands except per share data)20252024
Revenue$54,767 $68,743 
Net (loss) earnings$(2,832)$710 
Diluted (loss) earnings per share$(0.23)$0.06 
The pro forma results shown above do not reflect the impact on general and administrative expense of investment advisory costs, legal costs and other costs of $1.2 million incurred by us as a direct result of the transaction.
In connection with the acquisition, we have entered into a lease agreement (the “Alfamation Lease Agreement”) with the former owner of Alfamation™ who will continue to serve as the managing director of Alfamation™ under our ownership. The Alfamation Lease Agreement commenced on March 12, 2024, and will last for six years. It will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Alfamation Lease Agreement, Alfamation™ will lease warehouse and office space totaling about 52 thousand square feet. Alfamation™ will pay a yearly lease payment of €0.3 million broken up into two equal payments. At the date of the signing of the Alfamation Lease Agreement, the yearly lease payment equated to approximately $0.3 million.
XML 24 R11.htm IDEA: XBRL DOCUMENT v3.25.2
INVENTORIES
6 Months Ended
Jun. 30, 2025
Inventory Disclosure [Abstract]  
INVENTORIES INVENTORIES
Inventories held at June 30, 2025, and December 31, 2024, were comprised of the following:
(in thousands)June 30,
2025
December 31,
2024
Raw materials$16,932 $16,109 
Work in process5,108 5,940 
Inventory consigned to others256 288 
Finished goods5,314 4,500 
Total inventories$27,610 $26,837 
Total charges incurred for excess and obsolete inventory for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Excess and obsolete inventory charges$97 $130 $304 $306 
XML 25 R12.htm IDEA: XBRL DOCUMENT v3.25.2
PROPERTY AND EQUIPMENT
6 Months Ended
Jun. 30, 2025
Property, Plant and Equipment [Abstract]  
PROPERTY AND EQUIPMENT PROPERTY AND EQUIPMENT
Property and equipment included the following:
(in thousands)June 30,
2025
December 31,
2024
Machinery and equipment$9,688 $9,162 
Leasehold improvements4,502 4,125 
Gross property and equipment14,190 13,287 
Less: accumulated depreciation(9,513)(8,830)
Net property and equipment$4,677 $4,457 
Depreciation expense related to property and equipment was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Depreciation$314 $356 $630 $629 
XML 26 R13.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS
6 Months Ended
Jun. 30, 2025
Goodwill and Intangible Assets Disclosure [Abstract]  
GOODWILL AND INTANGIBLE ASSETS GOODWILL AND INTANGIBLE ASSETS
We have three operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.
Goodwill
Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2025, are as follows:
(in thousands)
Balance - January 1, 2025$30,744 
Impact of foreign currency translation adjustments1,693 
Balance – June 30, 2025$32,437 
Goodwill was comprised of the following at June 30, 2025, and December 31, 2024:
(in thousands)June 30, 2025December 31,
2024
Electronic Test$14,018 $12,567 
Environmental Technologies1,817 1,817 
Process Technologies16,602 16,360 
Total goodwill$32,437 $30,744 
Intangible Assets
Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:
(in thousands)Finite-LivedIndefinite-Lived
Balance - January 1, 2025$16,201 $10,175 
Impact of foreign currency translation adjustments1,590 344 
Amortization(1,663)— 
Balance – June 30, 2025$16,128 $10,519 
The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:
June 30, 2025
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$25,247 $12,756 $12,491 
Technology6,302 2,665 3,637 
Patents590 590 — 
Backlog— — — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets32,549 16,421 16,128 
Indefinite-lived intangible assets:
Trademarks10,519 — 10,519 
Total intangible assets$43,068 $16,421 $26,647 
December 31, 2024
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$23,912 $11,496 $12,416 
Technology5,786 2,001 3,785 
Patents590 590 — 
Backlog481 481 — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets31,179 14,978 16,201 
Indefinite-lived intangible assets:
Trademarks10,175 — 10,175 
Total intangible assets$41,354 $14,978 $26,376 
The following table sets forth the estimated annual amortization expense for each of the next five years:
(in thousands)
Remaining 2025$1,699 
20262,608 
20272,057 
20281,699 
20291,364 
Thereafter6,701 
Total estimated amortization of finite-lived intangible assets$16,128 
XML 27 R14.htm IDEA: XBRL DOCUMENT v3.25.2
FAIR VALUE MEASUREMENTS
6 Months Ended
Jun. 30, 2025
Fair Value Disclosures [Abstract]  
FAIR VALUE MEASUREMENTS FAIR VALUE MEASUREMENTS
Recurring Fair Value Measurements
The interest rate swap agreement we entered into in connection with our Term Note, as disclosed in “Note (2) Summary of Significant Accounting Policies; (l) Interest Rate Swap Agreement” and “Note (10) Debt,” is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheet is measured at fair value on a recurring basis using Level 3 inputs.
Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021, and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. We may pay the seller up to an additional CAD $5.0 million in the five-year period from 2022 through 2026. The additional payments will be based on a percent of net invoices for which payments have been received on systems sold to EV or battery customers in excess of CAD $2.5 million per year in each of the five years. The maximum payment is capped at CAD $5.0 million, which equates to approximately $3.7 million at June 30, 2025. There were no payments due to the seller for the years ended December 31, 2022 or 2023. We paid the contractually due amount for 2024 during the first quarter of 2025. To estimate the fair value of the contingent consideration at the acquisition date, an option-based income approach using a Monte Carlo simulation model was utilized due to the non-linear payout structure. As of the acquisition date, this resulted in an estimated fair value of $1.4 million. This amount was recorded as a contingent consideration liability and included in the purchase price as of the acquisition date. We reassess the estimated fair value of this liability annually using this same approach, or more frequently, if we determine that there have been material changes to the assumptions used in the calculation of the probable payout. Changes in the amount of the estimated fair value of the earn-outs since the acquisition date are recorded as operating expenses in our consolidated statement of operations in the quarter in which they occur. The current portion of our contingent consideration liability is
included as a component of accrued expenses and other current liabilities, while the non-current portion is included in Other Liabilities on our consolidated balance sheets.
The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:
June 30, 2025
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$58 $— $58 $— 
Contingent consideration - current(431)— — (431)
Contingent consideration - long term(441)— — (441)
December 31, 2024
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$117 $— $117 $— 
Contingent consideration - current(62)— — (62)
Contingent consideration - long term(825)— — (825)
Changes in the fair value of our Level 3 contingent consideration liabilities for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Balance at beginning of period$824 $1,069 $887 $1,093 
Cash payments— — (34)— 
Change in estimated fair value— (50)(28)(50)
Impact of foreign currency translation adjustments48 (11)47 (35)
Balance at end of period$872 $1,008 $872 $1,008 
XML 28 R15.htm IDEA: XBRL DOCUMENT v3.25.2
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES
6 Months Ended
Jun. 30, 2025
Payables and Accruals [Abstract]  
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES
Accrued expenses and other current liabilities included the following:
(in thousands)June 30,
2025
December 31,
2024
Accrued wages and benefits$4,609 $5,420 
Accrued professional fees1,360 1,294 
Accrued sales commissions837 1,039 
Accrued warranty978 802 
Other current liabilities2,069 930 
Total accrued expenses and other current liabilities$9,853 $9,485 
XML 29 R16.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES
6 Months Ended
Jun. 30, 2025
Leases [Abstract]  
LEASES LEASES
As disclosed in “Note (2) Summary of Significant Accounting Policies; (k) Leases,” we account for our leases in accordance with the guidance in ASC 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2032. Total operating lease and short-term lease costs for the three and six months ended June 30, 2025 and 2024, respectively, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Operating lease cost$641 $509 $1,294 $960 
Short-term lease cost
The following is additional information about our leases as of June 30, 2025:
Range of remaining lease terms (in years)0.3to6.7
Weighted average remaining lease term (in years)5.4
Weighted average discount rate6.7%
Maturities of lease liabilities as of June 30, 2025, were as follows:
(in thousands)
2025 (remainder)$1,410 
20262,529 
20272,334 
20281,696 
20291,583 
Thereafter2,624 
Total lease payments$12,176 
Less imputed interest(1,760)
Total$10,416 
Cash Flow Information
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Amortization of ROU assets$428 $282 $1,066 $685 
ROU assets obtained in exchange for operating lease obligations5,517 86 5,623 
As disclosed in “Note (3) Acquisition,” on March 12, 2024, we acquired the stock of Alfamation™, and as such, we assumed several leases. In addition, we also entered into the Alfamation Lease Agreement for the seller-owned facility where Alfamation™ has its principal operations. The leased premises include warehouse and office space totaling approximately 52 thousand square feet. The semi-annual lease payments are €0.1 million. The impact of the assumption and execution of these leases was a non-cash increase in our ROU assets and operating lease liabilities of approximately $1.7 million at the date of the acquisition.
XML 30 R17.htm IDEA: XBRL DOCUMENT v3.25.2
DEBT
6 Months Ended
Jun. 30, 2025
Debt Disclosure [Abstract]  
DEBT DEBT
Letters of Credit
We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as other assets on our balance sheets. The terms of our leases require us to renew these letters of credit at least 30 days prior to their expiration dates for successive terms of not less than one year until lease expiration. Our outstanding letters of credit at June 30, 2025, and December 31, 2024, consisted of the following:
(in thousands)L/CLeaseLetters of Credit
Amount Outstanding
FacilityOriginal L/C
Issue Date
Expiration
Date
Expiration
Date
Jun. 30,
2025
Dec. 31,
2024
Mt. Laurel, NJ3/29/104/30/264/30/31$50 $50 
Mansfield, MA10/27/1012/31/252/29/3250 50 
$100 $100 
Credit Facility
On October 15, 2021 (the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&T Bank (“M&T”) which, was subsequently amended on October 28, 2021, December 30, 2021, September 20, 2022, May 2, 2024, and December 18, 2024 (together as amended, the “Loan Agreement”). The Loan Agreement includes a $50.5 million non-revolving delayed draw term note (the “Term Note”) and a $10.0 million revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The available funding at June 30, 2025, under the Term Note was $30 million and we have not borrowed any amounts under the $10.0 million Revolving Facility. The Credit Facility has a five-year contract period that began on October 15, 2021, and, as amended, expires on May 2, 2031, and draws under the Term Note, as amended, are permissible until May 2, 2026.
The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“SOFR”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a five-year amortizing term loan with a balloon due at maturity, or (ii) up to a five-year term with up to seven years amortization with a balloon due at maturity. Any amortization greater than five years will be subject to an excess cash flow recapture. The Loan Agreement also allows us to enter into hedging contracts with M&T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.
The Loan Agreement contains customary default provisions, including but not limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the contract period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable nondefault interest rate. The Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of not more than 3.0 to 1.0 and a fixed charge coverage ratio of not less than 1.25 to 1.0. Our obligations under the Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement, except for the fixed charge coverage ratio financial covenant which was 0.80 to 1.0 for the quarter ended June 30, 2025.
On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&T. At June 30, 2025 we were holding $5.9 million of total debt with M&T.
On October 28, 2021, we drew $12.0 million under the Term Note to finance the acquisition of Videology®. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five-year repayment and amortization period. As a result, the annual interest rate we pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.
On December 29, 2021, we drew $8.5 million under the Term Note to finance the acquisition of Acculogic. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate for this draw under the Term Note is variable. At June 30, 2025, it was approximately 6.6% based on current leverage.
The following table sets forth the annual maturities for the balance of the Term Note:
(in thousands)
2025 (remainder)$2,050 
20263,842 
Total remaining maturities of our Term Note$5,892 
Alfamation™ Debt
In connection with the acquisition of Alfamation™ (see “Note (3) Acquisition”), we assumed debt which totaled $11.3 million as of the acquisition date. At June 30, 2025, Alfamation™’s total debt amounted to $4.2 million. This debt is comprised of both fixed and variable rate bank issued term loans as well as $0.7 million of short-term variable rate financing backed by Alfamation™’s accounts receivable. This debt is spread across several different institutions with monthly, quarterly or semi-annual repayment schedules. The short-term variable financing rate at June 30, 2025, was 3.1%. At June 30, 2025, the weighted average interest rate payable on the bank issued term loans was 1.1% for fixed rate debt and 3.7% for variable rate debt and the overall weighted average interest rate for the bank issued term loans was 3.2%.
The following table sets forth the maturities of this debt for each of the next four years:
(in thousands)
2025 (remainder)$1,597 
20261,484 
2027858 
2028262 
Total remaining maturities of our Alfamation™ Debt
$4,201 
XML 31 R18.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CONTRACTS WITH CUSTOMERS
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
REVENUE FROM CONTRACTS WITH CUSTOMERS REVENUE FROM CONTRACTS WITH CUSTOMERS
Disaggregation of Revenue
The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. See “Note (18) Segment Information” for information about revenue by operating segment and geographic region.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by customer type:
End user$23,192 $27,496 $45,628 $48,926 
OEM/Integrator4,938 6,495 9,139 14,889 
$28,130 $33,991 $54,767 $63,815 
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by product type:
Thermal test$4,839 $4,228 $9,232 $7,927 
Thermal process5,547 9,843 10,828 20,798 
Semiconductor test5,926 4,014 10,660 10,296 
Video imaging2,289 1,685 4,346 3,804 
Flying probe and in-circuit testers1,204 1,031 3,060 3,775 
Alfamation™ products
4,629 9,719 8,778 11,098 
Service/other3,696 3,471 7,863 6,117 
$28,130 — $33,991 $54,767 $63,815 

Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by market:
Semi$10,192 $10,124 $19,187 $25,091 
Auto/EV5,862 10,735 11,821 14,693 
Defense/Aerospace3,578 3,682 6,406 6,921 
Industrial3,786 3,415 6,807 7,602 
Life Sciences1,386 2,194 3,074 2,847 
Safety/Security898 792 1,462 1,333 
Other2,428 3,049 6,010 5,328 
$28,130 $33,991 $54,767 $63,815 
Major Customers
During the three and six months ended June 30, 2025, one customer (Customer “A”) accounted for 11% and 12%, respectively, of our consolidated revenue. During the three months ended June 30, 2024, one customer (Customer “B”) accounted for 17% of our consolidated revenue, while during the six months ended June 30, 2024, Customer “A” accounted for 11% of our consolidated revenue. These revenues in the periods presented were generated by our Electronic Test segment.
Contract Liabilities
As of June 30, 2025, and December 31, 2024, we had total contract liabilities of $7.0 million and $6.4 million, respectively. Our contract liabilities consist of our customer deposits and deferred revenue as well as deferred revenue net of current portion on our consolidated balance sheets. For the three months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of March 31, 2025, was $2.4 million, while for the three months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of March 31, 2024, was $1.5 million. For the six months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of December 31, 2024, was $3.1 million, while for the six months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of December 31, 2023, was $3.1 million.
Allowance for Credit Losses
Activity related to our allowance for credit losses was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Beginning balance$411 $426 $423 $474 
Credit loss expense, net of release of unused allowance60 46 
Write-offs(12)— (12)(48)
Foreign currency translation impact(11)(11)
Ending balance$464 $416 $464 $416 
XML 32 R19.htm IDEA: XBRL DOCUMENT v3.25.2
EARNINGS (LOSS) PER SHARE
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
EARNINGS (LOSS) PER SHARE EARNINGS (LOSS) PER SHARE
The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings (loss) per share because their effect was anti-dilutive:
Three Months EndedSix Months Ended
June 30,June 30,
2025202420252024
Weighted average common shares outstanding - basic12,215,25812,234,59912,197,33812,130,480
Potentially dilutive securities:
Unvested shares of restricted stock and employee stock options95,681113,809
Weighted average common shares and common share equivalents outstanding - diluted12,215,25812,330,28012,197,33812,244,289
Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period662,167599,276769,896516,930
XML 33 R20.htm IDEA: XBRL DOCUMENT v3.25.2
EQUITY
6 Months Ended
Jun. 30, 2025
Equity [Abstract]  
EQUITY EQUITY
On March 5, 2025, our Board of Directors authorized the renewal of our previously expired share repurchase plan (the “Repurchase Plan”), whereby we may repurchase shares of our common stock on the open market with a total aggregate repurchase amount of up to $10.0 million. As of the renewal date, we had approximately $9.0 million available for repurchases under the Repurchase Plan. We are not obligated to purchase any common stock under the Repurchase Plan. Further, the Repurchase Plan may be suspended or discontinued at any time without prior notice.
XML 34 R21.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN
6 Months Ended
Jun. 30, 2025
Share-Based Payment Arrangement [Abstract]  
STOCK-BASED COMPENSATION PLAN STOCK-BASED COMPENSATION PLAN
As of June 30, 2025, we had unvested stock options, restricted stock awards, performance-based restricted stock awards and restricted stock units granted under our stock-based compensation plans. On June 21, 2023, our stockholders approved the InTest Corporation 2023 Stock Incentive Plan (the “2023 Plan”) which replaced the Fourth Amended and Restated 2014 Stock Plan (the “2014 Plan”). No further awards can be granted under the 2014 Plan. The maximum number of shares of common stock available for grant and issuance under the 2023 Plan is (a) 350,000, plus (b) the number of shares of common stock available for issuance under the 2014 Plan on the date the 2023 Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the 2014 Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the 2023 Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the 2023 Plan as of the
date of its approval was 1,117,942. Consistent with prior years’ performance-based awards, we reserve additional shares in the event that the performance achieves maximum levels. As a result of current year’s activity with regard to performance-based restricted stock awards (grants and forfeitures), we have 50,113 shares reserved in aggregate for performance in excess of target as of June 30, 2025. As of June 30, 2025, the remaining authorization for issue under the 2023 Plan was 436,980.
The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2025 and 2024, related to unvested restricted stock, performance-based restricted stock awards, restricted stock units and stock options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Cost of revenues$45 $37 $83 $68 
Selling expense19 14 32 25 
Engineering and product development expense10 (1)12 
General and administrative expense361 505 744 808 
$435 $564 $858 $913 
As of June 30, 2025, total compensation expense to be recognized in future periods was $4.6 million. The weighted average period over which this expense is expected to be recognized was 2.8 years. There was no compensation expense capitalized in the three and six months ended June 30, 2025 or 2024.
Stock Options
The fair value for stock options granted during the six months ended June 30, 2025 and 2024 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:
Six Months Ended
June 30,
20252024
Risk-free interest rate4.28 %3.98 %
Dividend yield0.00 %0.00 %
Expected common stock market price volatility factor.59.57
Weighted average expected life of stock options (years)6.256.25
The following table summarizes the activity related to stock options for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Exercise Price
Weighted Average Remaining Contractual Term (yrs)
Aggregate Intrinsic Value (in thousands)
Options outstanding, January 1, 2025
602,593$10.92 
Granted310,0867.74 
Exercised(4,925)3.69 
Forfeited(23,188)10.78 
Options outstanding, June 30, 2025
884,566$9.85 7.8$112 
Exercisable399,536$10.55 6.3$112 
Expected to vest485,030$9.27 9.1$— 
The table below summarizes certain additional information with respect to our options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands, except per option amounts)2025202420252024
Weighted average grant date fair value per option$— $— $4.61 $6.55 
Aggregate intrinsic value of options exercised$— $— $22 $40 
Restricted Stock Awards
The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
119,833$11.92 
Granted85,0987.74 
Vested(46,474)11.76 
Forfeited(9,169)10.69 
Unvested shares outstanding, June 30, 2025
149,288$9.67 
Additional information about our restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of RSA’s vested$94 $89 $344 $435 
Performance-Based Restricted Stock Awards
On January 16, 2024, the newly appointed president of our Process Technologies segment received performance-based restricted stock awards totaling 8,231 shares valued at $0.1 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on January 16, 2024. The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods. As of June 30, 2025, we have estimated that these shares will vest at 100% of the original amount.
On March 6, 2024, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 33,539 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 6, 2024. The final vesting percentage will be based on the achievement of certain performance metrics related to adjusted EBITDA for the year ended December 31, 2026, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.
On March 17, 2025, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 49,098 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 17, 2025. The final vesting percentage will be based on the achievement of certain performance metrics related to the percentage of revenue received by us generated by recurring revenue streams for the year ended December 31, 2027, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these
shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.
On October 1, 2021, we granted 5,000 shares of performance-based stock awards to a member of senior management with a vesting date of January 1, 2025. The performance criteria was based on the achievement of certain financial metrics. The probability of achievement was 0% as of December 31, 2024, and on January 1, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.
On March 9, 2022, our CEO and CFO were granted performance-based stock awards totaling 20,493 shares. The performance criteria was based on the achievement of certain performance metrics including compound annual revenue growth rate. The probability of achievement was 0% as of December 31, 2024, and on March 9, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.
On March 8, 2023, our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards, of which 16,605 remained as of June 30, 2025. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on March 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. During the second quarter of 2025, we reduced this estimate from 50% to 0% based on our current projections for the performance metrics for the relevant measurement period. The adjustment for this award was insignificant and recorded in general and administrative expense in our statements of operations.
On June 11, 2025, the president of our Environmental Technologies segment terminated employment with us. He had performance-based stock awards of 5,081 shares granted on May 8, 2023, 2,942 shares granted on March 6, 2024 and 4,307 shares granted on March 17, 2025. The probability of achievement of the May 8, 2023 award was 50% as of March 31, 2025, while the March 6, 2024 and March 17, 2025 awards remained at 100% as of March 31, 2025. Due to the termination, none of the performance criteria were achieved and therefore, 12,330 performance-based stock awards were forfeited.
The following table summarizes the activity related to unvested performance-based restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
88,949$12.53 
Granted49,0987.74 
Vested— 
Forfeited(37,823)11.48 
Unvested shares outstanding, June 30, 2025
100,224$10.58 
Additional information about our performance-based restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of PSA’s vested$— $— $— $117 
Restricted Stock Units
We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
$— 
Granted61,0917.98 
Vested— 
Forfeited— 
Unvested shares outstanding, June 30, 2025
61,091$7.98 
No RSUs vested during the six months ended June 30, 2025.
XML 35 R22.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE STOCK PURCHASE PLAN
6 Months Ended
Jun. 30, 2025
Share-Based Payment Arrangement [Abstract]  
EMPLOYEE STOCK PURCHASE PLAN EMPLOYEE STOCK PURCHASE PLAN
The InTest Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by the Board in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021, at our Annual Meeting of Stockholders and became effective on October 1, 2021.
The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a 15% discount from the closing market price on the purchase date. The discount is recorded as a component of compensation expense in our consolidated statements of operations. The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance under the ESPP. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.
The activity in our ESPP was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands except shares)2025202420252024
Shares purchased4,592 4,483 9,966 8,587 
Total cost of shares$28 $38 $60 $84 
Total discount (compensation expense)$$$11 $15 
The per share prices related to the ESPP purchases were as follows:
Closing Market PricePurchase Price
June 30, 2025$7.28 $6.19 
March 31, 20256.99 5.94 
June 30, 20249.88 8.40 
March 31, 202413.25 11.26 
XML 36 R23.htm IDEA: XBRL DOCUMENT v3.25.2
RESTRUCTURING
6 Months Ended
Jun. 30, 2025
Restructuring and Related Activities [Abstract]  
RESTRUCTURING RESTRUCTURING
On February 25, 2025, we notified employees of our wholly-owned subsidiary, Videology Imaging Corporation, of our intention to consolidate all operations in the Netherlands into our facility located in Mansfield, Massachusetts (the
Videology Consolidation”). Videology® is included in our Process Technologies segment. This plan would result in the closure of the Netherlands facility and the termination of certain employees at that location. The Videology Consolidation of the Netherlands operations is being undertaken to increase efficiencies and lower operating costs associated with the current operation of Videology® and is expected to be substantially completed by the end of 2025 at which point we intend to fully vacate the Netherlands facility.
On June 11, 2025, we transitioned leadership of our Environmental Technologies segment (the “Environmental Transition”), appointing a new President. We incurred severance and payroll related costs for the outgoing President related to the Environmental Transition.
As a result of these two actions, we expect to incur cash charges for severance and other one-time termination benefits of $425 thousand. In addition, we expect to incur cash charges for other costs related to the facility consolidation, including moving costs, costs associated with the termination of the Netherlands facility lease and other consolidation costs, ranging from $200 thousand to $300 thousand.
We have recognized restructuring expenses related to these actions as follows:
Three Months EndedSix Months Ended
(in thousands)June 30,
2025
June 30,
2025
Videology Consolidation:
Severance$— $237 
Retention60 79 
Payroll taxes and payroll related12 63 
Other12 18 
Total Process Technologies restructuring charges84 397 
Corporate portion of action charges52 52 
Total Videology Consolidation restructuring charges$136 $449 
Environmental Transition:
Severance$70 $70 
Payroll taxes and payroll related
Total Environmental Technologies restructuring charges76 76 
Corporate portion of action charges
Total Environmental Transition restructuring charges$80 $80 
Total consolidated restructuring charges$216 $529 
Our restructuring accrual is included as a component of accrued expenses and other current liabilities:
Six Months Ended
(in thousands)June 30,
2025
Beginning balance$— 
Charges529 
Cash payments(36)
Impact of foreign currency translation adjustments30 
Ending balance$523 
XML 37 R24.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE BENEFIT PLANS
6 Months Ended
Jun. 30, 2025
Postemployment Benefits [Abstract]  
EMPLOYEE BENEFIT PLANS EMPLOYEE BENEFIT PLANS
The InTest Corporation Incentive Savings Plan is a defined contribution 401(k) plan for our employees who work in the U.S. (the “InTest Savings Plan”). As of June 30, 2025, all permanent employees of Acculogic Ltd, Ambrell®, InTest Corporation, InTest EMS LLC, Temptronic Corporation and Videology®, who are at least 18 years of age, are eligible to participate in the InTest Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5 thousand. Employer contributions vest ratably over four years. Matching contributions are discretionary.
We recorded expense for matching contributions as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Discretionary employer matching contributions$205 $219 $564 $608 
Employees of Alfamation™ in Italy are entitled to Trattamento di Fine Rapporto (“TFR”), commonly referred to as an employee leaving indemnity, which represents deferred compensation for employees. Under Italian law, an entity is obligated to accrue for TFR on an individual employee basis payable to each individual upon termination of employment (including both voluntary and involuntary dismissal). The expense is recognized in personnel costs in our consolidated statements of operations and the required accrual is included in Other Liabilities on our consolidated balance sheets. At June 30, 2025, the amount recorded in other liabilities for TFR was $1.6 million.
XML 38 R25.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION
6 Months Ended
Jun. 30, 2025
Segment Reporting [Abstract]  
SEGMENT INFORMATION SEGMENT INFORMATION
We have three operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers and the operations of Alfamation™ which we acquired on March 12, 2024 - see “Note (3) Acquisition”), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, third-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the auto/EV, defense/aerospace, industrial, life sciences, safety/security and other markets.
Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses, restructuring costs and acquired intangible amortization.
Three Months Ended June 30, 2025
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$13,733 $7,215 $7,182 $— $28,130 
Cost of revenue7,418 4,534 4,205 — 16,157 
Other divisional costs4,755 2,070 2,578 — 9,403 
Division operating income (loss)1,560 611 399  2,570 
Acquired intangible amortization850 850 
Restructuring costs216 216 
Corporate expenses
2,431 2,431 
Operating (loss) income1,560 611 399 (3,497)(927)
Interest expense
(119)(119)
Other income463 463 
(Loss) earnings before income tax (benefit) expense$1,560 $611 $399 $(3,153)$(583)
Supplemental Disclosures:
Depreciation$152 $62 $61 $39 $314 
Stock-based compensation86 81 68 200 435 
Capital expenditures63 24 366 462 
Total assets$76,259 $21,944 $49,975 $1,475 $149,653 

Three Months Ended June 30, 2024
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$16,159 $8,273 $9,559 $— $33,991 
Cost of revenue9,462 5,016 5,716 — 20,194 
Other divisional costs4,954 2,264 2,873 — 10,091 
Division operating income (loss)1,743 993 970  3,706 
Acquired intangible amortization897 897 
Corporate expenses
2,473 2,473 
Operating income (loss)1,743 993 970 (3,370)336 
Interest expense
(253)(253)
Other income213 213 
Earnings (loss) before income tax expense (benefit)$1,743 $993 $970 $(3,410)$296 
Supplemental Disclosures:
Depreciation$154 $80 $100 $22 $356 
Stock-based compensation53 48 52 411 564 
Capital expenditures106 122 17 71 316 
Total assets$81,668 $21,827 $55,460 $1,599 $160,554 
Six Months Ended June 30, 2025
($ in thousands)Electronic TestEnvironmental TechnologiesProcess
Technologies
Corporate &
Other
Consolidated
Revenue$26,992 $13,483 $14,292 $— $54,767 
Cost of revenue14,731 8,697 8,310 — 31,738 
Other divisional costs10,020 4,430 5,376 — 19,826 
Division operating income (loss)2,241 356 606  3,203 
Acquired intangible amortization1,663 1,663 
Restructuring costs529 529 
Corporate expenses4,819 4,819 
Operating (loss) income2,241 356 606 (7,011)(3,808)
Interest expense(271)(271)
Other income707 707 
(Loss) earnings before income tax expense$2,241 $356 $606 $(6,575)$(3,372)
Supplemental Disclosures:
Depreciation$306 $127 $123 $74 $630 
Stock-based compensation140 49 120 549 858 
Capital expenditures197 106 15 373 691 
Total assets$76,259 $21,944 $49,975 $1,475 $149,653 
    

Six Months Ended June 30, 2024
($ in thousands)Electronic TestEnvironmental TechnologiesProcess
Technologies
Corporate &
Other
Consolidated
Revenue$27,275 $15,101 $21,439 $— $63,815 
Cost of revenue15,008 9,549 12,385 — 36,942 
Other divisional costs8,711 4,544 6,123 — 19,378 
Division operating income3,556 1,008 2,931  7,495 
Acquired intangible amortization1,492 1,492 
Corporate expenses5,175 5,175 
Operating income (loss)3,556 1,008 2,931 (6,667)828 
Interest expense(393)(393)
Other income648 648 
Earnings (loss) before income tax expense$3,556 $1,008 $2,931 $(6,412)$1,083 
Supplemental Disclosures:
Depreciation$242 $144 $200 $43 $629 
Stock-based compensation106 86 34 687 913 
Capital expenditures142 351 87 76 656 
Total assets$81,668 $21,827 $55,460 $1,599 $160,554 
The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue:
U.S.$12,372 $14,423 $25,038 $24,900 
Foreign15,758 19,568 29,729 38,915 
$28,130 $33,991 $54,767 $63,815 
(in thousands)June 30,
2025
December 31,
2024
Property and equipment:
U.S.$2,113 $2,280 
Foreign2,564 2,177 
$4,677 $4,457 
XML 39 R26.htm IDEA: XBRL DOCUMENT v3.25.2
Insider Trading Arrangements
3 Months Ended
Jun. 30, 2025
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 40 R27.htm IDEA: XBRL DOCUMENT v3.25.2
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)
6 Months Ended
Jun. 30, 2025
Accounting Policies [Abstract]  
Basis of Presentation Basis of Presentation and Use of Estimates
The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”) filed on March 13, 2025, with the Securities and Exchange Commission (“SEC”).
Consolidation Basis of Presentation and Use of Estimates
The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”) filed on March 13, 2025, with the Securities and Exchange Commission (“SEC”).
Use of Estimates Basis of Presentation and Use of Estimates
The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “2024 Form 10-K”) filed on March 13, 2025, with the Securities and Exchange Commission (“SEC”).
Reclassifications Reclassifications
Certain prior period presentation and amounts have been reclassified to conform with the current period’s presentation. These consist of:
aggregating the components of property and equipment on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions and other current liabilities into accrued expenses and other current liabilities on the face of the consolidated balance sheets and disclosing the details in the footnotes
aggregating our restricted certificates of deposit into other assets on the face of the consolidated balance sheets and disclosing the details in the footnotes
disaggregating amortization of acquired intangible assets from general and administrative expenses on the face of our consolidated statements of operations
aggregating foreign exchange (gain) loss, discount on shares sold under Employee Stock Purchase Plan, proceeds from sales of demonstration equipment, net of gain, into other non-cash reconciling items within adjustments to reconcile net (loss) earnings to cash provided by operating activities on the consolidated statements of cash flows
aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions, other current liabilities and other liabilities into accrued and other liabilities within changes in assets and liabilities for cash flows from operating activities on the consolidated statements of cash flows
Business Combinations Business Combinations
Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statements of operations in the period of the estimated
fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.
Cash and Cash Equivalents Cash & Cash Equivalents
Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.
Periodically we have restricted cash which represents amounts deposited at our banks to support bank guarantees which certain of our customers require as a condition of paying large deposits on orders they place with us. Typically, the amount of the deposit and related guarantee declines as shipments are made against the order. At June 30, 2025 and December 31, 2024, we had no amounts classified as restricted cash.
Trade Accounts Receivable and Allowance for Credit Losses Trade Accounts Receivable and Allowance for Credit Losses
Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers’ financial condition. We follow the guidance in Accounting Standards Codification (“ASC”) Topic 326 - Financial Instruments – Credit Losses (“ASC 326”) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.
Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.
Inventories Inventories
Inventories are generally valued at cost on a first-in, first-out basis, not in excess of net realizable value, except inventory acquired in a business combination, which is recorded at fair value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories.
Property and Equipment Property and Equipment
Our property and equipment caption includes machinery, equipment and leasehold improvements which are stated at cost, except for machinery and equipment acquired in a business combination, which are stated at fair value at the time of acquisition. As disclosed in “(h) Goodwill, Intangible and Long-Lived Assets,” machinery and equipment that has been determined to be impaired is written down to its fair value at the time of the impairment. Depreciation for machinery and equipment is based upon the estimated useful life of the assets using the straight-line method. The estimated useful lives range from one to ten years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset.
Goodwill, Intangible And Long Lived Assets Goodwill, Intangible and Long-Lived Assets
We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.
We account for goodwill and intangible assets in accordance with ASC Topic 350 - Intangibles - Goodwill and Other (“ASC 350”). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.
Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized.
The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.
Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.
Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management’s best estimates using appropriate assumptions and projections at that time.
Fair Value of Financial Instruments Fair Value of Financial Instruments
ASC Topic 820 - Fair Value Measurement (“ASC 820”) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.
ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:
Level 1: Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.
Level 2: Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.
Level 3: Valuations based on inputs that are unobservable and significant to the overall fair value measurement.
To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument’s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.
Our financial instruments include cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short-term nature of those items. Our credit facility and our interest rate swap are discussed further below and in “Note (10) Debt.” Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See “Note (7) Fair Value Measurements” for further disclosures related to the fair value of our liabilities for contingent consideration.
State and Local Grant Funds Received State and Local Grant Funds Received
In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell Corporation (“Ambrell®”), occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $0.6 million to help offset a portion of the cost of the leasehold improvements we made to this facility. In exchange for the funds we received under these agreements, we were required to create and maintain specified levels of employment in this location through various dates ending in 2024. As of December 31, 2024, we met those employment targets as specified in the grant agreement with the city of Rochester. The remaining proceeds which were no longer subject to repayment were reclassified to deferred grant proceeds and will be amortized to income on a straight-line basis over the current remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheets and totaled $0.3 million at June 30, 2025.
Leases Leases
We account for leases in accordance with ASC Topic 842 -Leases (“ASC 842”). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the
economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.
ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.
We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.
Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.
We have made an accounting policy election not to apply the recognition requirements of ASC 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.
Interest Rate Swap Agreement Interest Rate Swap Agreement
We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in “Note (7) Fair Value Measurements” and “Note (10) Debt.” The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with a portion of our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 - Derivatives and Hedging. Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Our interest rate swap is recorded at fair value as a component of other assets in our balance sheets. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. We recognize the change in the fair value of the interest rate swap as a component of the change in other assets in our statements of cash flows.
Revenue Recognition Revenue Recognition
We recognize revenue in accordance with the guidance in ASC Topic 606 - Revenue from Contracts with Customers. We recognize revenue for the sale of products or services at the amount of consideration we expect to receive for those goods or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable
of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.
We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Shipping and handling fees billed to customers are included in revenue, while shipping and handling costs are included in cost of revenue.
Nature of Products and Services
We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including semi, industrial, auto/EV, life sciences, defense/aerospace and safety/security. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We sell thermal management products including ThermoStream®, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic®, Sigma, Thermonics® and North Sciences product lines, and Ambrell®’s precision induction heating systems, including EKOHEAT® and EASYHEAT products. As a result of the acquisition of Videology®, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We also sell many of our products to various other markets including the industrial, auto/EV, life sciences, defense/aerospace and safety/security markets. We provide post-warranty service and support for the equipment we sell.
We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.
Types of Contracts with Customers
Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed-upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.
Contract Balances
We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our consolidated balance sheets. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Customer deposits are included in current liabilities on our consolidated balance sheets. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. Deferred revenue estimated to be recognized within the next twelve months is included in current liabilities. Deferred revenue that we estimate will be recognized beyond twelve months is recorded in deferred revenue, net of current portion, on our consolidated balance sheets. Any non-inventoriable costs associated with deferred revenue are also deferred and recorded in prepaid expenses and other current assets or other assets on our consolidated balance sheets, depending on when the related deferred revenue is expected to be recognized.
As discussed above, we follow the guidance in ASC 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.
Costs to Obtain a Contract with a Customer
The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.
Product Warranties
In connection with the sale of our products, we generally provide standard one- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.
Earnings (Loss) Per Common Share Earnings (Loss) Per Common Share
Earnings (loss) per common share - basic is computed by dividing net earnings (loss) by the weighted average number of common shares outstanding during each period. Earnings (loss) per common share - diluted is computed by dividing earnings (loss) by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock, performance-based restricted stock, restricted stock units and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.
Stock-Based Compensation Stock-Based Compensation
We account for stock-based compensation in accordance with ASC Topic 718 - Compensation—Stock Compensation which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. We generally grant awards in the first quarter of the year and recognize forfeitures of awards as they occur, recapturing any expense recorded for unvested awards.
The fair value of our stock options on the date of grant is determined using the Black-Scholes option pricing model, which requires the use of certain assumptions, including the expected volatility of our stock price, the expected term of the option, the risk-free rate and the expected dividend yield. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.
We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees. Prior to 2025, restricted stock awards granted to our independent directors vested 25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted. Beginning in 2025, restricted stock awards granted to our independent directors vest on the one-year anniversary of the grant date.
We also grant performance-based restricted stock awards where the ultimate number of shares that vest can vary and is based on the achievement of specific performance metrics. The grant date fair value of these awards is based on the quoted market price of our stock on the date of grant. Vesting for performance-based awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for performance-based
awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjusted as needed. Our initial assumption at the grant date of these performance-based awards is that the award will vest at 100%.
From time to time, as restricted stock awards vest, certain employees surrender their vested shares to satisfy their tax liability on vesting. The fair value of those shares on the vesting date are then used by us to pay those employees’ tax obligations. The shares surrendered are reported as treasury stock in our statements of stockholders’ equity.
Foreign Currency Foreign CurrencyFor our foreign subsidiaries whose functional currencies are not the U.S. dollar, assets and liabilities are translated using the exchange rate in effect at the balance sheet date. The results of operations are translated using an average exchange rate for the period. The effects of rate fluctuations in translating assets and liabilities of these international operations into U.S. dollars are included in accumulated other comprehensive earnings in stockholders’ equity. Transaction gains or losses are included in net earnings.
Income Taxes Income Taxes
We account for income taxes using the asset and liability method, as described in ASC Topic 740 – Income Taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.
Recognition and measurement of uncertain tax positions in our financial statements involves a determination of whether it is more likely than not that a tax position will be sustained upon examination with the presumption that the tax position will be examined by the appropriate taxing authority having full knowledge of all relevant information. Our policy is to record interest and penalties associated with unrecognized tax benefits as additional income taxes in the statements of operations.
Restructuring and Other Charges Restructuring and Other Charges
In accordance with the guidance in ASC Topic 420 - Exit or Disposal Cost Obligations, we recognize a liability for restructuring costs at fair value only when the liability is incurred. Workforce-related charges are accrued when it is determined that a liability has been incurred, which is generally after individuals have been notified of their termination dates and expected severance benefits. Depending on the timing of the termination dates, these charges may be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities may result in lease termination fees and impairment charges related to our ROU assets that are associated with the leases for these facilities. Other long-lived assets that may be impaired as a result of restructuring consist of property and equipment, goodwill and intangible assets. Asset impairment charges included in restructuring and other charges are based on an estimate of the amounts and timing of future cash flows related to the expected future remaining use and ultimate sale or disposal of the asset, and, in the case of our ROU assets, would include expected future sublease rental income, if applicable. These estimates are derived using the guidance in ASC 842, ASC 350 and ASC Topic 360 - Property, Plant and Equipment.
Effect of Recently Adopted and Recently Issued Amendments to Authoritative Accounting Guidance Effect of Recently Adopted Amendments to Authoritative Accounting Guidance
In November 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (“ASU 2023-07”) which amends the guidance for disclosures for reportable segments. ASU 2023-07 introduced new requirements to disclose significant segment expenses regularly provided to the chief operating decision maker (“CODM”), extends certain annual disclosures to interim periods, clarifies that single reportable segment entities must apply ASC 280 – Segment Reporting
in its entirety, permits more than one measure of segment profit or loss to be reported under certain conditions, and requires disclosure of the title and position of the CODM. Our adoption of ASU 2023-07 had no impact on our consolidated financial statements. We have retrospectively applied the amendments to our interim footnote disclosures beginning January 1, 2025, as permitted.
Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted
In November 2024, the FASB issued ASU 2024-03, Income Statement—Reporting Comprehensive Income—Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses (“ASU 2024-03”) that requires additional disclosure of certain costs and expenses, including amounts of inventory purchases, employee compensation, and depreciation and amortization included in each income statement line item. ASU 2024-03 also requires disclosure of the total amount of selling expenses and our definition of selling expenses. This update is effective for fiscal years beginning after December 15, 2026, and for interim periods beginning after December 15, 2027, and may be adopted on a prospective basis at the effective date or retrospectively applied to all periods presented. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
In March 2024, the SEC issued a new final rule in Release 33-11275, The Enhancement and Standardization of Climate-Related Disclosures for Investors, which requires the inclusion of climate-related information in registration statements and annual reports. Among other things, the new rule requires disclosure of material climate-related risks, activities related to adapting to or mitigating such risks, related oversight activities, and information on climate-related targets or goals. Information is also required of certain greenhouse gas emissions. Disclosure requirements were to begin phasing in for fiscal years beginning on or after January 1, 2025, however on April 4, 2024, the SEC issued a voluntary stay (SEC Release 33-11280) in response to pending litigation. Therefore, the implementation dates are currently on hold. We are monitoring SEC developments and evaluating the impact of the new rule on our consolidated financial statements.
In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures (“ASU 2023-09”). The amendments require entities to annually disclose the income tax rate reconciliation using both amounts and percentages, considering several categories of reconciling items, including state and local income taxes, foreign tax effects, tax credits and nontaxable or nondeductible items, among others. Disclosure of the reconciling items is subject to a quantitative threshold and disaggregation by nature and jurisdiction. The amendments also require entities to disclose net income taxes paid or received to federal, state and foreign jurisdictions, as well as by individual jurisdiction, subject to a five percent quantitative threshold. The amendments may be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after December 15, 2024, with early adoption permitted. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.
Subsequent Events Subsequent Events
We have made an assessment of our operations and with the exception of the debt amendment noted in “Note (10) Debt,” determined that there were no other material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2025.
On July 4, 2025, President Trump signed the One Big Beautiful Bill Act (“OBBBA”), enacting a broad range of tax reform provisions, including extending and modifying certain domestic and international Tax Cut & Jobs Act provisions and expanding certain Inflation Reduction Act incentives while accelerating the phase-out of others. Only certain provisions will have current-year financial reporting implications due to varying effective dates and discretionary elections. We are currently analyzing the OBBBA but do not anticipate a material impact to our consolidated financial statements.
XML 41 R28.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION (Tables)
6 Months Ended
Jun. 30, 2025
Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]  
Business Combination, Recognized Asset Acquired and Liability Assumed
The total purchase price of $21.9 million has been allocated as follows:
(in thousands)March 12,
2024
Goodwill$9,883 
Identifiable intangible assets13,332 
Tangible assets acquired and liabilities assumed:
Cash1,088 
Trade accounts receivable6,061 
Inventories13,117 
Other current assets1,468 
Property and equipment1,739 
Other assets1,755 
Accounts payable(4,669)
Accrued expenses and other current liabilities(5,221)
Deferred tax liability(2,326)
Debt (current and long-term)(11,274)
Other non-current liabilities(3,052)
Total purchase price$21,901 
Business Combination, Intangible Asset, Acquired, Finite-Lived and Indefinite-Lived
The following table summarizes the estimated fair value of Alfamation™’s identifiable intangible assets and their estimated useful lives as of the acquisition date:
Fair
Value
Weighted
Average
Estimated
Useful Life
(in thousands except lives)(in years)
Finite-lived intangible assets:
Customer relationships$8,196 20.0
Technology3,169 10.0
Total finite-lived intangible assets11,365 
Indefinite-lived intangible assets:
Trade name1,967 
Total intangible assets$13,332 
Business Combination, Pro Forma Information These proforma summaries are presented for informational purposes only and are not necessarily indicative of what the actual results of operations would have been had the acquisition taken place as of that date, nor are they indicative of future consolidated results of operations:
Six Months Ended
June 30,
(in thousands except per share data)20252024
Revenue$54,767 $68,743 
Net (loss) earnings$(2,832)$710 
Diluted (loss) earnings per share$(0.23)$0.06 
XML 42 R29.htm IDEA: XBRL DOCUMENT v3.25.2
INVENTORIES (Tables)
6 Months Ended
Jun. 30, 2025
Inventory Disclosure [Abstract]  
Schedule of Inventory
Inventories held at June 30, 2025, and December 31, 2024, were comprised of the following:
(in thousands)June 30,
2025
December 31,
2024
Raw materials$16,932 $16,109 
Work in process5,108 5,940 
Inventory consigned to others256 288 
Finished goods5,314 4,500 
Total inventories$27,610 $26,837 
Total charges incurred for excess and obsolete inventory for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Excess and obsolete inventory charges$97 $130 $304 $306 
XML 43 R30.htm IDEA: XBRL DOCUMENT v3.25.2
PROPERTY AND EQUIPMENT (Tables)
6 Months Ended
Jun. 30, 2025
Property, Plant and Equipment [Abstract]  
Schedule of Property and Equipment
Property and equipment included the following:
(in thousands)June 30,
2025
December 31,
2024
Machinery and equipment$9,688 $9,162 
Leasehold improvements4,502 4,125 
Gross property and equipment14,190 13,287 
Less: accumulated depreciation(9,513)(8,830)
Net property and equipment$4,677 $4,457 
Depreciation expense related to property and equipment was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Depreciation$314 $356 $630 $629 
XML 44 R31.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS (Tables)
6 Months Ended
Jun. 30, 2025
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2025, are as follows:
(in thousands)
Balance - January 1, 2025$30,744 
Impact of foreign currency translation adjustments1,693 
Balance – June 30, 2025$32,437 
Goodwill was comprised of the following at June 30, 2025, and December 31, 2024:
(in thousands)June 30, 2025December 31,
2024
Electronic Test$14,018 $12,567 
Environmental Technologies1,817 1,817 
Process Technologies16,602 16,360 
Total goodwill$32,437 $30,744 
Schedule of Indefinite-Lived Intangible Assets
Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:
(in thousands)Finite-LivedIndefinite-Lived
Balance - January 1, 2025$16,201 $10,175 
Impact of foreign currency translation adjustments1,590 344 
Amortization(1,663)— 
Balance – June 30, 2025$16,128 $10,519 
The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:
June 30, 2025
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$25,247 $12,756 $12,491 
Technology6,302 2,665 3,637 
Patents590 590 — 
Backlog— — — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets32,549 16,421 16,128 
Indefinite-lived intangible assets:
Trademarks10,519 — 10,519 
Total intangible assets$43,068 $16,421 $26,647 
December 31, 2024
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$23,912 $11,496 $12,416 
Technology5,786 2,001 3,785 
Patents590 590 — 
Backlog481 481 — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets31,179 14,978 16,201 
Indefinite-lived intangible assets:
Trademarks10,175 — 10,175 
Total intangible assets$41,354 $14,978 $26,376 
Schedule of Finite-Lived Intangible Assets
Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:
(in thousands)Finite-LivedIndefinite-Lived
Balance - January 1, 2025$16,201 $10,175 
Impact of foreign currency translation adjustments1,590 344 
Amortization(1,663)— 
Balance – June 30, 2025$16,128 $10,519 
The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:
June 30, 2025
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$25,247 $12,756 $12,491 
Technology6,302 2,665 3,637 
Patents590 590 — 
Backlog— — — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets32,549 16,421 16,128 
Indefinite-lived intangible assets:
Trademarks10,519 — 10,519 
Total intangible assets$43,068 $16,421 $26,647 
December 31, 2024
(in thousands)Gross
Carrying
Amount
Accumulated
Amortization
Net
Carrying
Amount
Finite-lived intangible assets:
Customer relationships$23,912 $11,496 $12,416 
Technology5,786 2,001 3,785 
Patents590 590 — 
Backlog481 481 — 
Software270 270 — 
Trade name140 140 — 
Total finite-lived intangible assets31,179 14,978 16,201 
Indefinite-lived intangible assets:
Trademarks10,175 — 10,175 
Total intangible assets$41,354 $14,978 $26,376 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense
The following table sets forth the estimated annual amortization expense for each of the next five years:
(in thousands)
Remaining 2025$1,699 
20262,608 
20272,057 
20281,699 
20291,364 
Thereafter6,701 
Total estimated amortization of finite-lived intangible assets$16,128 
XML 45 R32.htm IDEA: XBRL DOCUMENT v3.25.2
FAIR VALUE MEASUREMENTS (Tables)
6 Months Ended
Jun. 30, 2025
Fair Value Disclosures [Abstract]  
Liabilities Measured at Fair Value on a Recurring Basis
The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:
June 30, 2025
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$58 $— $58 $— 
Contingent consideration - current(431)— — (431)
Contingent consideration - long term(441)— — (441)
December 31, 2024
Fair Value Measurement Using
(in thousands)TotalLevel 1Level 2Level 3
Interest rate swap$117 $— $117 $— 
Contingent consideration - current(62)— — (62)
Contingent consideration - long term(825)— — (825)
Changes in the Fair Value of Level 3 Contingent Consideration Liabilities
Changes in the fair value of our Level 3 contingent consideration liabilities for the three and six months ended June 30, 2025 and 2024, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Balance at beginning of period$824 $1,069 $887 $1,093 
Cash payments— — (34)— 
Change in estimated fair value— (50)(28)(50)
Impact of foreign currency translation adjustments48 (11)47 (35)
Balance at end of period$872 $1,008 $872 $1,008 
XML 46 R33.htm IDEA: XBRL DOCUMENT v3.25.2
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)
6 Months Ended
Jun. 30, 2025
Payables and Accruals [Abstract]  
Accrued Expenses and Other Current Liabilities
Accrued expenses and other current liabilities included the following:
(in thousands)June 30,
2025
December 31,
2024
Accrued wages and benefits$4,609 $5,420 
Accrued professional fees1,360 1,294 
Accrued sales commissions837 1,039 
Accrued warranty978 802 
Other current liabilities2,069 930 
Total accrued expenses and other current liabilities$9,853 $9,485 
XML 47 R34.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES (Tables)
6 Months Ended
Jun. 30, 2025
Leases [Abstract]  
Lease Costs Total operating lease and short-term lease costs for the three and six months ended June 30, 2025 and 2024, respectively, were as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Operating lease cost$641 $509 $1,294 $960 
Short-term lease cost
The following is additional information about our leases as of June 30, 2025:
Range of remaining lease terms (in years)0.3to6.7
Weighted average remaining lease term (in years)5.4
Weighted average discount rate6.7%
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Amortization of ROU assets$428 $282 $1,066 $685 
ROU assets obtained in exchange for operating lease obligations5,517 86 5,623 
Maturities of Lease Liabilities
Maturities of lease liabilities as of June 30, 2025, were as follows:
(in thousands)
2025 (remainder)$1,410 
20262,529 
20272,334 
20281,696 
20291,583 
Thereafter2,624 
Total lease payments$12,176 
Less imputed interest(1,760)
Total$10,416 
XML 48 R35.htm IDEA: XBRL DOCUMENT v3.25.2
DEBT (Tables)
6 Months Ended
Jun. 30, 2025
Debt Disclosure [Abstract]  
Schedule Of Outstanding Letters Of Credit Our outstanding letters of credit at June 30, 2025, and December 31, 2024, consisted of the following:
(in thousands)L/CLeaseLetters of Credit
Amount Outstanding
FacilityOriginal L/C
Issue Date
Expiration
Date
Expiration
Date
Jun. 30,
2025
Dec. 31,
2024
Mt. Laurel, NJ3/29/104/30/264/30/31$50 $50 
Mansfield, MA10/27/1012/31/252/29/3250 50 
$100 $100 
Schedule of Maturities of Long-Term Debt
The following table sets forth the annual maturities for the balance of the Term Note:
(in thousands)
2025 (remainder)$2,050 
20263,842 
Total remaining maturities of our Term Note$5,892 
The following table sets forth the maturities of this debt for each of the next four years:
(in thousands)
2025 (remainder)$1,597 
20261,484 
2027858 
2028262 
Total remaining maturities of our Alfamation™ Debt
$4,201 
XML 49 R36.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. See “Note (18) Segment Information” for information about revenue by operating segment and geographic region.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by customer type:
End user$23,192 $27,496 $45,628 $48,926 
OEM/Integrator4,938 6,495 9,139 14,889 
$28,130 $33,991 $54,767 $63,815 
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by product type:
Thermal test$4,839 $4,228 $9,232 $7,927 
Thermal process5,547 9,843 10,828 20,798 
Semiconductor test5,926 4,014 10,660 10,296 
Video imaging2,289 1,685 4,346 3,804 
Flying probe and in-circuit testers1,204 1,031 3,060 3,775 
Alfamation™ products
4,629 9,719 8,778 11,098 
Service/other3,696 3,471 7,863 6,117 
$28,130 — $33,991 $54,767 $63,815 

Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue by market:
Semi$10,192 $10,124 $19,187 $25,091 
Auto/EV5,862 10,735 11,821 14,693 
Defense/Aerospace3,578 3,682 6,406 6,921 
Industrial3,786 3,415 6,807 7,602 
Life Sciences1,386 2,194 3,074 2,847 
Safety/Security898 792 1,462 1,333 
Other2,428 3,049 6,010 5,328 
$28,130 $33,991 $54,767 $63,815 
Activity Related to Allowance for Credit Losses
Activity related to our allowance for credit losses was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Beginning balance$411 $426 $423 $474 
Credit loss expense, net of release of unused allowance60 46 
Write-offs(12)— (12)(48)
Foreign currency translation impact(11)(11)
Ending balance$464 $416 $464 $416 
XML 50 R37.htm IDEA: XBRL DOCUMENT v3.25.2
EARNINGS (LOSS) PER SHARE (Tables)
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share
The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings (loss) per share because their effect was anti-dilutive:
Three Months EndedSix Months Ended
June 30,June 30,
2025202420252024
Weighted average common shares outstanding - basic12,215,25812,234,59912,197,33812,130,480
Potentially dilutive securities:
Unvested shares of restricted stock and employee stock options95,681113,809
Weighted average common shares and common share equivalents outstanding - diluted12,215,25812,330,28012,197,33812,244,289
Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period662,167599,276769,896516,930
XML 51 R38.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN (Tables)
6 Months Ended
Jun. 30, 2025
Share-Based Payment Arrangement [Abstract]  
Summary of Compensation Expense
The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2025 and 2024, related to unvested restricted stock, performance-based restricted stock awards, restricted stock units and stock options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Cost of revenues$45 $37 $83 $68 
Selling expense19 14 32 25 
Engineering and product development expense10 (1)12 
General and administrative expense361 505 744 808 
$435 $564 $858 $913 
Schedule of Stock Options Valuations Assumptions
The fair value for stock options granted during the six months ended June 30, 2025 and 2024 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:
Six Months Ended
June 30,
20252024
Risk-free interest rate4.28 %3.98 %
Dividend yield0.00 %0.00 %
Expected common stock market price volatility factor.59.57
Weighted average expected life of stock options (years)6.256.25
Schedule of Stock Option Activity
The following table summarizes the activity related to stock options for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Exercise Price
Weighted Average Remaining Contractual Term (yrs)
Aggregate Intrinsic Value (in thousands)
Options outstanding, January 1, 2025
602,593$10.92 
Granted310,0867.74 
Exercised(4,925)3.69 
Forfeited(23,188)10.78 
Options outstanding, June 30, 2025
884,566$9.85 7.8$112 
Exercisable399,536$10.55 6.3$112 
Expected to vest485,030$9.27 9.1$— 
The table below summarizes certain additional information with respect to our options:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands, except per option amounts)2025202420252024
Weighted average grant date fair value per option$— $— $4.61 $6.55 
Aggregate intrinsic value of options exercised$— $— $22 $40 
Schedule of Restricted Stock Awards Activity
The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
119,833$11.92 
Granted85,0987.74 
Vested(46,474)11.76 
Forfeited(9,169)10.69 
Unvested shares outstanding, June 30, 2025
149,288$9.67 
Additional information about our restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of RSA’s vested$94 $89 $344 $435 
The following table summarizes the activity related to unvested performance-based restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
88,949$12.53 
Granted49,0987.74 
Vested— 
Forfeited(37,823)11.48 
Unvested shares outstanding, June 30, 2025
100,224$10.58 
Additional information about our performance-based restricted stock awards is summarized as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Aggregate market value of PSA’s vested$— $— $— $117 
We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:
Number
of Shares
Weighted
Average
Grant Date
Fair Value
Unvested shares outstanding, January 1, 2025
$— 
Granted61,0917.98 
Vested— 
Forfeited— 
Unvested shares outstanding, June 30, 2025
61,091$7.98 
XML 52 R39.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE STOCK PURCHASE PLAN (Tables)
6 Months Ended
Jun. 30, 2025
Share-Based Payment Arrangement [Abstract]  
Schedule of ESPP Activity
The activity in our ESPP was as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands except shares)2025202420252024
Shares purchased4,592 4,483 9,966 8,587 
Total cost of shares$28 $38 $60 $84 
Total discount (compensation expense)$$$11 $15 
Schedule of Per Share Prices Related to ESPP
The per share prices related to the ESPP purchases were as follows:
Closing Market PricePurchase Price
June 30, 2025$7.28 $6.19 
March 31, 20256.99 5.94 
June 30, 20249.88 8.40 
March 31, 202413.25 11.26 
XML 53 R40.htm IDEA: XBRL DOCUMENT v3.25.2
RESTRUCTURING (Tables)
6 Months Ended
Jun. 30, 2025
Restructuring and Related Activities [Abstract]  
Schedule of Restructuring Expenses and Accrual
We have recognized restructuring expenses related to these actions as follows:
Three Months EndedSix Months Ended
(in thousands)June 30,
2025
June 30,
2025
Videology Consolidation:
Severance$— $237 
Retention60 79 
Payroll taxes and payroll related12 63 
Other12 18 
Total Process Technologies restructuring charges84 397 
Corporate portion of action charges52 52 
Total Videology Consolidation restructuring charges$136 $449 
Environmental Transition:
Severance$70 $70 
Payroll taxes and payroll related
Total Environmental Technologies restructuring charges76 76 
Corporate portion of action charges
Total Environmental Transition restructuring charges$80 $80 
Total consolidated restructuring charges$216 $529 
Schedule of Restructuring Reserve by Type of Cost
Our restructuring accrual is included as a component of accrued expenses and other current liabilities:
Six Months Ended
(in thousands)June 30,
2025
Beginning balance$— 
Charges529 
Cash payments(36)
Impact of foreign currency translation adjustments30 
Ending balance$523 
XML 54 R41.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE BENEFIT PLANS (Tables)
6 Months Ended
Jun. 30, 2025
Postemployment Benefits [Abstract]  
Schedule of Matching Contributions
We recorded expense for matching contributions as follows:
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Discretionary employer matching contributions$205 $219 $564 $608 
XML 55 R42.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION (Tables)
6 Months Ended
Jun. 30, 2025
Segment Reporting [Abstract]  
Schedule of Segment Reporting Information
Three Months Ended June 30, 2025
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$13,733 $7,215 $7,182 $— $28,130 
Cost of revenue7,418 4,534 4,205 — 16,157 
Other divisional costs4,755 2,070 2,578 — 9,403 
Division operating income (loss)1,560 611 399  2,570 
Acquired intangible amortization850 850 
Restructuring costs216 216 
Corporate expenses
2,431 2,431 
Operating (loss) income1,560 611 399 (3,497)(927)
Interest expense
(119)(119)
Other income463 463 
(Loss) earnings before income tax (benefit) expense$1,560 $611 $399 $(3,153)$(583)
Supplemental Disclosures:
Depreciation$152 $62 $61 $39 $314 
Stock-based compensation86 81 68 200 435 
Capital expenditures63 24 366 462 
Total assets$76,259 $21,944 $49,975 $1,475 $149,653 

Three Months Ended June 30, 2024
(in thousands)Electronic
 Test
Environmental
Technologies
Process
Technologies
Corporate &
Other
Consolidated
Revenue$16,159 $8,273 $9,559 $— $33,991 
Cost of revenue9,462 5,016 5,716 — 20,194 
Other divisional costs4,954 2,264 2,873 — 10,091 
Division operating income (loss)1,743 993 970  3,706 
Acquired intangible amortization897 897 
Corporate expenses
2,473 2,473 
Operating income (loss)1,743 993 970 (3,370)336 
Interest expense
(253)(253)
Other income213 213 
Earnings (loss) before income tax expense (benefit)$1,743 $993 $970 $(3,410)$296 
Supplemental Disclosures:
Depreciation$154 $80 $100 $22 $356 
Stock-based compensation53 48 52 411 564 
Capital expenditures106 122 17 71 316 
Total assets$81,668 $21,827 $55,460 $1,599 $160,554 
Schedule of Revenue by Geographic Location
The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.
Three Months EndedSix Months Ended
June 30,June 30,
(in thousands)2025202420252024
Revenue:
U.S.$12,372 $14,423 $25,038 $24,900 
Foreign15,758 19,568 29,729 38,915 
$28,130 $33,991 $54,767 $63,815 
Schedule of Long-Lived Assets by Geographical Area
(in thousands)June 30,
2025
December 31,
2024
Property and equipment:
U.S.$2,113 $2,280 
Foreign2,564 2,177 
$4,677 $4,457 
XML 56 R43.htm IDEA: XBRL DOCUMENT v3.25.2
NATURE OF OPERATIONS (Details) - segment
6 Months Ended
Mar. 17, 2025
Mar. 06, 2024
Jun. 30, 2025
Organization, Consolidation and Presentation of Financial Statements [Abstract]      
Number of operating segments 3 3 3
Number of reportable segments     3
Number of reporting units     3
XML 57 R44.htm IDEA: XBRL DOCUMENT v3.25.2
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)
$ in Millions
6 Months Ended
Jun. 30, 2025
USD ($)
segment
Mar. 31, 2022
USD ($)
Financing Receivable, Allowance for Credit Loss [Line Items]    
Excess inventory threshold 3 years  
Obsolete inventory threshold 24 months  
Number of reporting units | segment 3  
Number of reportable segments | segment 3  
Minimum    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Useful lives 1 year  
Product warranties 1 year  
Maximum    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Useful lives 10 years  
Product warranties 2 years  
Options    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Options vesting period 4 years  
Options | Maximum    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Options vesting period 10 years  
Restricted Stock    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Quarterly vesting percentage 0.25  
Vesting rights percentage 100.00%  
Restricted Stock | Employees    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Options vesting period 4 years  
Restricted Stock | Independent directors    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Options vesting period 1 year  
City of Rochester and State of New York    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Grant funds received | $   $ 0.6
Deferred grant proceeds | $ $ 0.3  
XML 58 R45.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION - Narrative (Details) - Alfamation
ft² in Thousands, $ in Thousands, € in Millions
1 Months Ended 3 Months Ended
Mar. 12, 2024
EUR (€)
ft²
payment
shares
Mar. 12, 2024
USD ($)
payment
shares
Jun. 30, 2024
EUR (€)
Jun. 30, 2024
USD ($)
Dec. 31, 2024
USD ($)
Jun. 30, 2025
USD ($)
Mar. 12, 2024
USD ($)
ft²
Business Combination [Line Items]              
Purchase price € 20.0 $ 21,900          
Payments to acquire business € 18.0 $ 19,700          
Business acquisition, shares of common stock issued (in shares) | shares 187,432 187,432          
Business acquisition, common stock issued   $ 2,100          
Business acquisition, purchase price adjustment     € 0.1 $ 100      
Business acquisition, debt assumed € 10.3         $ 11,300 $ 11,274
Transaction costs   $ 1,200          
Inventory step-up         $ 1,600    
Operating lease term 6 years           6 years
Leased premise (in square feet) | ft² 52           52
Lease payments € 0.3           $ 300
Number of lease payments | payment 2 2          
XML 59 R46.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION - Acquired assets and Liabilities Assumed (Details)
$ in Thousands, € in Millions
Jun. 30, 2025
USD ($)
Dec. 31, 2024
USD ($)
Mar. 12, 2024
EUR (€)
Mar. 12, 2024
USD ($)
Business Combination [Line Items]        
Goodwill $ 32,437 $ 30,744    
Alfamation        
Business Combination [Line Items]        
Goodwill       $ 9,883
Identifiable intangible assets       13,332
Cash       1,088
Trade accounts receivable       6,061
Inventories       13,117
Other current assets       1,468
Property and equipment       1,739
Other assets       1,755
Accounts payable       (4,669)
Accrued expenses and other current liabilities       (5,221)
Deferred tax liability       (2,326)
Debt (current and long-term) $ (11,300)   € (10.3) (11,274)
Other non-current liabilities       (3,052)
Total purchase price       $ 21,901
XML 60 R47.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION - Intangible Assets (Details) - Alfamation
$ in Thousands
Mar. 12, 2024
USD ($)
Business Combination [Line Items]  
Finite-lived intangible assets: $ 11,365
Total intangible assets 13,332
Trade name  
Business Combination [Line Items]  
Indefinite-lived intangible assets: 1,967
Customer relationships  
Business Combination [Line Items]  
Finite-lived intangible assets: $ 8,196
Weighted Average Estimated Useful Life 20 years
Technology  
Business Combination [Line Items]  
Finite-lived intangible assets: $ 3,169
Weighted Average Estimated Useful Life 10 years
XML 61 R48.htm IDEA: XBRL DOCUMENT v3.25.2
ACQUISITION - Pro Forma Information (Details) - Alfamation - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Business Combination [Line Items]    
Revenue $ 54,767 $ 68,743
Net (loss) earnings $ (2,832) $ 710
Diluted (loss) earnings per share $ (0.23) $ 0.06
XML 62 R49.htm IDEA: XBRL DOCUMENT v3.25.2
INVENTORIES (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Inventory Disclosure [Abstract]          
Raw materials $ 16,932   $ 16,932   $ 16,109
Work in process 5,108   5,108   5,940
Inventory consigned to others 256   256   288
Finished goods 5,314   5,314   4,500
Total inventories 27,610   27,610   $ 26,837
Excess and obsolete inventory charges $ 97 $ 130 $ 304 $ 306  
XML 63 R50.htm IDEA: XBRL DOCUMENT v3.25.2
PROPERTY AND EQUIPMENT (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Property, Plant and Equipment [Line Items]          
Gross property and equipment $ 14,190   $ 14,190   $ 13,287
Less: accumulated depreciation (9,513)   (9,513)   (8,830)
Net property and equipment 4,677   4,677   4,457
Depreciation 314 $ 356 630 $ 629  
Machinery and equipment          
Property, Plant and Equipment [Line Items]          
Gross property and equipment 9,688   9,688   9,162
Leasehold improvements          
Property, Plant and Equipment [Line Items]          
Gross property and equipment $ 4,502   $ 4,502   $ 4,125
XML 64 R51.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS (Details Textual) - segment
6 Months Ended
Mar. 17, 2025
Mar. 06, 2024
Jun. 30, 2025
Goodwill and Intangible Assets Disclosure [Abstract]      
Number of operating segments 3 3 3
Number of reporting units     3
XML 65 R52.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details)
$ in Thousands
3 Months Ended
Jun. 30, 2025
USD ($)
Goodwill [Roll Forward]  
Impact of foreign currency translation adjustments $ 1,693
Ending balance $ 32,437
XML 66 R53.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Goodwill [Line Items]    
Goodwill $ 32,437 $ 30,744
Electronic Test    
Goodwill [Line Items]    
Goodwill 14,018 12,567
Environmental Technologies    
Goodwill [Line Items]    
Goodwill 1,817 1,817
Process Technologies    
Goodwill [Line Items]    
Goodwill $ 16,602 $ 16,360
XML 67 R54.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Finite-Lived Intangible Assets [Roll Forward]        
Beginning balance     $ 16,201  
Impact of foreign currency translation adjustments     1,590  
Amortization $ (850) $ (897) (1,663) $ (1,492)
Ending balance $ 16,128   $ 16,128  
XML 68 R55.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2025
USD ($)
Indefinite-Lived Intangible Assets [Roll Forward]  
Beginning balance $ 10,175
Impact of foreign currency translation adjustments 344
Ending balance $ 10,519
XML 69 R56.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 32,549 $ 31,179
Accumulated Amortization 16,421 14,978
Net Carrying Amount 16,128 16,201
Gross Carrying Amount 10,519 10,175
Gross Carrying Amount 43,068 41,354
Total intangible assets 26,647 26,376
Trademarks    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 10,519 10,175
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 25,247 23,912
Accumulated Amortization 12,756 11,496
Net Carrying Amount 12,491 12,416
Technology    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 6,302 5,786
Accumulated Amortization 2,665 2,001
Net Carrying Amount 3,637 3,785
Patents    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 590 590
Accumulated Amortization 590 590
Net Carrying Amount 0 0
Backlog    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 0 481
Accumulated Amortization 0 481
Net Carrying Amount 0 0
Software    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 270 270
Accumulated Amortization 270 270
Net Carrying Amount 0 0
Trade name    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 140 140
Accumulated Amortization 140 140
Net Carrying Amount $ 0 $ 0
XML 70 R57.htm IDEA: XBRL DOCUMENT v3.25.2
GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]    
Remaining 2025 $ 1,699  
2026 2,608  
2027 2,057  
2028 1,699  
2029 1,364  
Thereafter 6,701  
Net Carrying Amount $ 16,128 $ 16,201
XML 71 R58.htm IDEA: XBRL DOCUMENT v3.25.2
FAIR VALUE MEASUREMENTS - Narrative (Details) - Acculogic - Payments Based on Performance Metrics - Fair Value, Recurring
$ in Millions
Dec. 21, 2021
CAD ($)
Jun. 30, 2025
USD ($)
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Dec. 21, 2021
USD ($)
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Consideration payable, additional $ 5.0 $ 3,700,000 $ 0 $ 0  
Consideration payable, additional period 5 years       5 years
Minimum amount for invoices received $ 2.5        
Estimated fair value         $ 1,400,000
XML 72 R59.htm IDEA: XBRL DOCUMENT v3.25.2
FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Contingent consideration - long term $ (441) $ (825)
Interest rate swap    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Interest rate swap 58 117
Level 1 | Interest rate swap    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Interest rate swap 0 0
Level 2 | Interest rate swap    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Interest rate swap 58 117
Level 3 | Interest rate swap    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Interest rate swap 0 0
Acculogic    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Contingent consideration - current (431) (62)
Contingent consideration - long term (441) (825)
Acculogic | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Contingent consideration - current 0 0
Contingent consideration - long term 0 0
Acculogic | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Contingent consideration - current 0 0
Contingent consideration - long term 0 0
Acculogic | Level 3    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Contingent consideration - current (431) (62)
Contingent consideration - long term $ (441) $ (825)
XML 73 R60.htm IDEA: XBRL DOCUMENT v3.25.2
FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) - Contingent Consideration Liabilities - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]        
Balance at beginning of period $ 824 $ 1,069 $ 887 $ 1,093
Cash payments 0 0 (34) 0
Change in estimated fair value 0 (50) (28) (50)
Impact of foreign currency translation adjustments 48 (11) 47 (35)
Balance at end of period $ 872 $ 1,008 $ 872 $ 1,008
XML 74 R61.htm IDEA: XBRL DOCUMENT v3.25.2
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Payables and Accruals [Abstract]    
Accrued wages and benefits $ 4,609 $ 5,420
Accrued professional fees 1,360 1,294
Accrued sales commissions 837 1,039
Accrued warranty 978 802
Other current liabilities 2,069 930
Accrued expenses and other current liabilities $ 9,853 $ 9,485
XML 75 R62.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES - Lease Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Lessee, Lease, Description [Table]        
Operating lease cost $ 641 $ 509 $ 1,294 $ 960
Short-term lease cost $ 2 $ 4 $ 6 $ 7
Weighted average remaining lease term (in years) 5 years 4 months 24 days   5 years 4 months 24 days  
Weighted average discount rate 6.70%   6.70%  
Minimum        
Lessee, Lease, Description [Table]        
Range of remaining lease terms (in years)     3 months 18 days  
Maximum        
Lessee, Lease, Description [Table]        
Range of remaining lease terms (in years)     6 years 8 months 12 days  
XML 76 R63.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES - Maturities of Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2025
USD ($)
Leases [Abstract]  
2025 (remainder) $ 1,410
2026 2,529
2027 2,334
2028 1,696
2029 1,583
Thereafter 2,624
Total lease payments 12,176
Less imputed interest (1,760)
Total $ 10,416
XML 77 R64.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES - Amortization of ROU Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Leases [Abstract]        
Amortization of ROU assets $ 428 $ 282 $ 1,066 $ 685
ROU assets obtained in exchange for operating lease obligations $ 1 $ 5,517 $ 86 $ 5,623
XML 78 R65.htm IDEA: XBRL DOCUMENT v3.25.2
LEASES - Narrative (Details)
ft² in Thousands, $ in Thousands
6 Months Ended
Mar. 12, 2024
USD ($)
ft²
Jun. 30, 2025
USD ($)
Jun. 30, 2024
USD ($)
Lessee, Lease, Description [Table]      
Operating lease liabilities   $ (966) $ (765)
Alfamation      
Lessee, Lease, Description [Table]      
Leased premise (in square feet) | ft² 52    
Alfamation | Warehouse and Office Space      
Lessee, Lease, Description [Table]      
Semi-annual lease payments   $ 100  
Operating lease liabilities $ 1,700    
XML 79 R66.htm IDEA: XBRL DOCUMENT v3.25.2
DEBT - Outstanding Letters of Credit (Details) - Letter of Credit - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2025
Dec. 31, 2024
Debt Instrument [Line Items]    
Letters of Credit Amount Outstanding $ 100 $ 100
Mt. Laurel, NJ    
Debt Instrument [Line Items]    
Original L/C Issue Date Mar. 29, 2010  
L/C Expiration Date Apr. 30, 2026  
Lease Expiration Date Apr. 30, 2031  
Letters of Credit Amount Outstanding $ 50 50
Mansfield, MA    
Debt Instrument [Line Items]    
Original L/C Issue Date Oct. 27, 2010  
L/C Expiration Date Dec. 31, 2025  
Lease Expiration Date Feb. 29, 2032  
Letters of Credit Amount Outstanding $ 50 $ 50
XML 80 R67.htm IDEA: XBRL DOCUMENT v3.25.2
DEBT - Narrative (Details)
€ in Millions
6 Months Ended
Dec. 29, 2021
USD ($)
Oct. 28, 2021
USD ($)
Oct. 15, 2021
USD ($)
Jun. 30, 2025
USD ($)
Mar. 12, 2024
EUR (€)
Mar. 12, 2024
USD ($)
Sep. 20, 2022
Debt Instrument [Line Items]              
Letters of credit, renewal period       30 days      
Long term debt       $ 5,892,000      
Short-term variable financing rate       3.10%      
Alfamation              
Debt Instrument [Line Items]              
Business acquisition, debt assumed       $ 11,300,000 € 10.3 $ 11,274,000  
Alfamation              
Debt Instrument [Line Items]              
Long term debt       4,201,000      
Short term debt       $ 700,000      
Weighted average interest rate       3.20%      
Letter of Credit              
Debt Instrument [Line Items]              
Expiration (less than)       1 year      
October 2021 Agreement | M&T Bank              
Debt Instrument [Line Items]              
Interest rate in event of default     2.00%        
Debt covenant, ratio of funded debt to EBITDA             3.0
Debt covenant, fixed charge ratio       0.80     1.25
October 2021 Agreement | M&T Bank | Revolving Credit Facility              
Debt Instrument [Line Items]              
Line of credit facility     $ 10,000,000.0        
Debt instrument term   5 years 5 years        
Amortization period     7 years        
October 2021 Agreement | M&T Bank | Term Note              
Debt Instrument [Line Items]              
Proceeds from debt $ 8,500,000 $ 12,000,000.0          
Annual interest rate   3.20%   6.60%      
Amended Loan Agreement | M&T Bank              
Debt Instrument [Line Items]              
Line of credit       $ 0      
Amended Loan Agreement | M&T Bank | Term Note              
Debt Instrument [Line Items]              
Debt instrument     $ 50,500,000        
Unused borrowing capacity       30,000,000      
Debt instrument term     5 years        
Long term debt       $ 5,900,000      
Debt Instrument, Long-term, Fixed Interest Rate Debt | Alfamation              
Debt Instrument [Line Items]              
Weighted average interest rate       1.10%      
Debt Instrument, Short-term, Variable Interest Rate Debt | Alfamation              
Debt Instrument [Line Items]              
Weighted average interest rate       3.70%      
XML 81 R68.htm IDEA: XBRL DOCUMENT v3.25.2
DEBT - Future Maturities of Long-term Debt (Details)
$ in Thousands
Jun. 30, 2025
USD ($)
Debt Instrument [Line Items]  
2025 (remainder) $ 2,050
2026 3,842
Total remaining maturities of our Term Note 5,892
Alfamation  
Debt Instrument [Line Items]  
2025 (remainder) 1,597
2026 1,484
2027 858
2028 262
Total remaining maturities of our Term Note $ 4,201
XML 82 R69.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Disaggregation of Revenue [Line Items]        
Revenue $ 28,130 $ 33,991 $ 54,767 $ 63,815
Semi        
Disaggregation of Revenue [Line Items]        
Revenue 10,192 10,124 19,187 25,091
Auto/EV        
Disaggregation of Revenue [Line Items]        
Revenue 5,862 10,735 11,821 14,693
Defense/Aerospace        
Disaggregation of Revenue [Line Items]        
Revenue 3,578 3,682 6,406 6,921
Industrial        
Disaggregation of Revenue [Line Items]        
Revenue 3,786 3,415 6,807 7,602
Life Sciences        
Disaggregation of Revenue [Line Items]        
Revenue 1,386 2,194 3,074 2,847
Safety/Security        
Disaggregation of Revenue [Line Items]        
Revenue 898 792 1,462 1,333
Other        
Disaggregation of Revenue [Line Items]        
Revenue 2,428 3,049 6,010 5,328
Thermal test        
Disaggregation of Revenue [Line Items]        
Revenue 4,839 4,228 9,232 7,927
Thermal process        
Disaggregation of Revenue [Line Items]        
Revenue 5,547 9,843 10,828 20,798
Semiconductor test        
Disaggregation of Revenue [Line Items]        
Revenue 5,926 4,014 10,660 10,296
Video imaging        
Disaggregation of Revenue [Line Items]        
Revenue 2,289 1,685 4,346 3,804
Flying probe and in-circuit testers        
Disaggregation of Revenue [Line Items]        
Revenue 1,204 1,031 3,060 3,775
Alfamation        
Disaggregation of Revenue [Line Items]        
Revenue 4,629 9,719 8,778 11,098
Service/other        
Disaggregation of Revenue [Line Items]        
Revenue 3,696 3,471 7,863 6,117
End user        
Disaggregation of Revenue [Line Items]        
Revenue 23,192 27,496 45,628 48,926
OEM/Integrator        
Disaggregation of Revenue [Line Items]        
Revenue $ 4,938 $ 6,495 $ 9,139 $ 14,889
XML 83 R70.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Disaggregation of Revenue [Line Items]          
Contract liabilities $ 7.0   $ 7.0   $ 6.4
Revenue recognized $ 2.4 $ 1.5 $ 3.1 $ 3.1  
Revenue Benchmark | Customer Concentration Risk | Customer A          
Disaggregation of Revenue [Line Items]          
Concentration risk 11.00% 17.00% 12.00% 11.00%  
XML 84 R71.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Accounts Receivable, Allowance for Credit Loss [Roll Forward]        
Beginning balance $ 411 $ 426 $ 423 $ 474
Credit loss expense, net of release of unused allowance 60 1 46 1
Write-offs (12) 0 (12) (48)
Foreign currency translation impact 5 (11) 7 (11)
Ending balance $ 464 $ 416 $ 464 $ 416
XML 85 R72.htm IDEA: XBRL DOCUMENT v3.25.2
EARNINGS (LOSS) PER SHARE (Details) - shares
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Earnings Per Share [Abstract]        
Weighted average common shares outstanding - basic (in shares) 12,215,258 12,234,599 12,197,338 12,130,480
Potentially dilutive securities:        
Unvested shares of restricted stock and employee stock options (in shares) 0 95,681 0 113,809
Diluted (in shares) 12,215,258 12,330,280 12,197,338 12,244,289
Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares) 662,167 599,276 769,896 516,930
XML 86 R73.htm IDEA: XBRL DOCUMENT v3.25.2
EQUITY (Details)
$ in Millions
Mar. 05, 2025
USD ($)
Equity [Abstract]  
Share repurchase program, authorized amount $ 10.0
Share repurchase program, remaining authorized amount $ 9.0
XML 87 R74.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Narrative (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 11, 2025
shares
Mar. 17, 2025
USD ($)
segment
shares
Mar. 06, 2024
USD ($)
segment
shares
Jan. 16, 2024
USD ($)
shares
May 08, 2023
shares
Mar. 08, 2023
Mar. 09, 2022
shares
Oct. 01, 2021
shares
Jun. 30, 2025
USD ($)
shares
Mar. 31, 2025
Jun. 30, 2024
USD ($)
Jun. 30, 2025
USD ($)
segment
shares
Jun. 30, 2024
USD ($)
Dec. 31, 2024
shares
Jun. 21, 2023
shares
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Compensation expense capitalized | $                 $ 0   $ 0 $ 0 $ 0    
Number of operating segments | segment   3 3                 3      
Senior Management Member                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                           0.00%  
Chief Executive Officer and Chief Financial Officer                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                           0.00%  
President of Environmental Technologies | May 8th, 2023                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                   50.00%          
President of Environmental Technologies | March 6th, 2024                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                   100.00%          
President of Environmental Technologies | March 17th, 2025                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                   100.00%          
Performance-Based Restricted Stock | President of Process Technologies                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)       8,231                      
Granted, fair value | $       $ 100                      
Performance-Based Restricted Stock | President of Process Technologies | Share-Based Payment Arrangement, Tranche One                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                       100.00%      
Performance-Based Restricted Stock | President of Process Technologies | Share-Based Payment Arrangement, Tranche One | Minimum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage       0.00%                      
Performance-Based Restricted Stock | President of Process Technologies | Share-Based Payment Arrangement, Tranche One | Maximum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage       150.00%                      
Performance-Based Restricted Stock | Chief Executive Officer, Chief Financial Officer, and Division Presidents                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)   49,098 33,539                        
Granted, fair value | $   $ 400 $ 400                        
Performance-Based Restricted Stock | Chief Executive Officer, Chief Financial Officer, and Division Presidents | Share-Based Payment Arrangement, Tranche One                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                       100.00%      
Performance-Based Restricted Stock | Chief Executive Officer, Chief Financial Officer, and Division Presidents | Share-Based Payment Arrangement, Tranche One | Minimum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage   0.00% 0.00%                        
Performance-Based Restricted Stock | Chief Executive Officer, Chief Financial Officer, and Division Presidents | Share-Based Payment Arrangement, Tranche One | Maximum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage   150.00% 150.00%                        
Performance Shares                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)                       49,098      
Forfeited (in shares)                       37,823      
Unvested shares outstanding (in shares)                 100,224     100,224   88,949  
Performance Shares | Senior Management Member                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)               5,000              
Performance Shares | Chief Executive Officer and Chief Financial Officer                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)             20,493                
Performance Shares | Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Unvested shares outstanding (in shares)                 16,605     16,605      
Performance Shares | Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management | Share-Based Payment Arrangement, Tranche One | Minimum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage           0.00%                  
Options vesting period           3 years                  
Performance Shares | Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management | Share-Based Payment Arrangement, Tranche One | Maximum                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage           150.00%                  
Performance Shares | Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management | Share-Based Payment Arrangement, Tranche Two                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Vesting rights percentage                   50.00%   0.00%      
Performance Shares | President of Environmental Technologies                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Granted (in shares)   4,307 2,942   5,081                    
Forfeited (in shares) 12,330                            
The 2023 Stock Incentive Plan                              
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                              
Shares available for issuance (in shares) (up to)                 350,000     350,000      
Shares reserved for future issuance (in shares)                 50,113     50,113      
Unrecognized compensation expense | $                 $ 4,600     $ 4,600      
Unrecognized compensation expense, period for recognition                       2 years 9 months 18 days      
Shares available for grant and issuance (in shares)                 436,980     436,980     1,117,942
XML 88 R75.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Total discount (compensation expense) $ 435 $ 564 $ 858 $ 913
Cost of revenues        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Total discount (compensation expense) 45 37 83 68
Selling expense        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Total discount (compensation expense) 19 14 32 25
Engineering and product development expense        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Total discount (compensation expense) 10 8 (1) 12
General and administrative expense        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Total discount (compensation expense) $ 361 $ 505 $ 744 $ 808
XML 89 R76.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details) - Options
6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Risk-free interest rate 4.28% 3.98%
Dividend yield 0.00% 0.00%
Expected common stock market price volatility factor 59.00% 57.00%
Weighted average expected life of stock options (years) 6 years 3 months 6 years 3 months
XML 90 R77.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2025
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]  
Options outstanding, beginning balance (in shares) 602,593
Granted (in shares) 310,086
Exercised (in shares) (4,925)
Forfeited (in shares) (23,188)
Options outstanding, ending balance (in shares) 884,566
Exercisable (in shares) 399,536
Expected to vest (in shares) 485,030
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]  
Options outstanding, weighted average exercise price, beginning balance (in dollars per share) $ 10.92
Granted (in dollars per share) 7.74
Exercised (in dollars per share) 3.69
Forfeited (in dollars per share) 10.78
Options outstanding, weighted average exercise price, ending balance (in dollars per share) 9.85
Exercisable (in dollars per share) 10.55
Expected to vest (in dollars per share) $ 9.27
Weighted average remaining contractual term, outstanding 7 years 9 months 18 days
Weighted average remaining contractual term, exercisable 6 years 3 months 18 days
Weighted average remaining contractual term, expected to vest 9 years 1 month 6 days
Aggregate intrinsic value, outstanding $ 112
Aggregate intrinsic value, exercisable 112
Aggregate intrinsic value, expected to vest $ 0
XML 91 R78.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Share-Based Payment Arrangement [Abstract]        
Weighted average grant date fair value per option (in dollars per share) $ 0 $ 0 $ 4.61 $ 6.55
Aggregate intrinsic value of options exercised $ 0 $ 0 $ 22 $ 40
XML 92 R79.htm IDEA: XBRL DOCUMENT v3.25.2
STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Restricted Stock        
Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]        
Unvested shares outstanding, beginning balance (in shares)     119,833  
Granted (in shares)     85,098  
Vested (in shares)     (46,474)  
Forfeited (in shares)     (9,169)  
Unvested shares outstanding, ending balance (in shares) 149,288   149,288  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]        
Unvested shares outstanding, beginning balance (in dollars per share)     $ 11.92  
Granted (in dollars per share)     7.74  
Vested (in dollars per share)     11.76  
Forfeited (in dollars per share)     10.69  
Unvested shares outstanding, ending balance (in dollars per share) $ 9.67   $ 9.67  
Aggregate market value of RSA’s vested $ 94 $ 89 $ 344 $ 435
Performance Shares        
Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]        
Unvested shares outstanding, beginning balance (in shares)     88,949  
Granted (in shares)     49,098  
Vested (in shares)     0  
Forfeited (in shares)     (37,823)  
Unvested shares outstanding, ending balance (in shares) 100,224   100,224  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]        
Unvested shares outstanding, beginning balance (in dollars per share)     $ 12.53  
Granted (in dollars per share)     7.74  
Vested (in dollars per share)     0  
Forfeited (in dollars per share)     11.48  
Unvested shares outstanding, ending balance (in dollars per share) $ 10.58   $ 10.58  
Aggregate market value of RSA’s vested $ 0 $ 0 $ 0 $ 117
Restricted Stock Units (RSUs)        
Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]        
Unvested shares outstanding, beginning balance (in shares)     0  
Granted (in shares)     61,091  
Vested (in shares)     0  
Forfeited (in shares)     0  
Unvested shares outstanding, ending balance (in shares) 61,091   61,091  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]        
Unvested shares outstanding, beginning balance (in dollars per share)     $ 0  
Granted (in dollars per share)     7.98  
Vested (in dollars per share)     0  
Forfeited (in dollars per share)     0  
Unvested shares outstanding, ending balance (in dollars per share) $ 7.98   $ 7.98  
XML 93 R80.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE STOCK PURCHASE PLAN (Details Textual) - Employee Stock Purchase Plan - shares
6 Months Ended
Jun. 30, 2025
Jun. 23, 2021
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Employee stock purchase plan discount 15.00%  
Shares available for issuance (in shares) (up to)   250,000
XML 94 R81.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Total cost of shares $ 35 $ 36 $ 45 $ 54    
Total discount (compensation expense) $ 435   $ 564   $ 858 $ 913
Employee Stock Purchase Plan            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Shares issued under Employee Stock Purchase Plan (in shares) 4,592   4,483   9,966 8,587
Total cost of shares $ 28   $ 38   $ 60 $ 84
Total discount (compensation expense) $ 5   $ 7   $ 11 $ 15
XML 95 R82.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details) - Employee Stock Purchase Plan - $ / shares
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Closing market price per share (in dollars per share) $ 7.28 $ 6.99 $ 9.88 $ 13.25
Purchase price per share (in dollars per share) $ 6.19 $ 5.94 $ 8.40 $ 11.26
XML 96 R83.htm IDEA: XBRL DOCUMENT v3.25.2
RESTRUCTURING (Details Textual)
$ in Thousands
Jun. 30, 2025
USD ($)
Severance and One-time Termination Benefits  
Restructuring Cost and Reserve [Line Items]  
Expected costs $ 425
Other | Minimum  
Restructuring Cost and Reserve [Line Items]  
Expected costs 200
Other | Maximum  
Restructuring Cost and Reserve [Line Items]  
Expected costs $ 300
XML 97 R84.htm IDEA: XBRL DOCUMENT v3.25.2
RESTRUCTURING - Schedule of Restructuring Expenses (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Restructuring Cost and Reserve [Line Items]        
Restructuring costs $ 216 $ 0 $ 529 $ 0
Videology Consolidation        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 136 449    
Videology Consolidation | Corporate portion of action charges        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 52 52    
Videology Consolidation | Process Technologies        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 84   397  
Videology Consolidation | Process Technologies | Severance        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 0   237  
Videology Consolidation | Process Technologies | Retention        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 60   79  
Videology Consolidation | Process Technologies | Payroll taxes and payroll related        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 12   63  
Videology Consolidation | Process Technologies | Other        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 12   18  
Environmental Transition        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 80 80    
Environmental Transition | Corporate portion of action charges        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 4 $ 4    
Environmental Transition | Environmental Technologies        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 76   76  
Environmental Transition | Environmental Technologies | Severance        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs 70   70  
Environmental Transition | Environmental Technologies | Payroll taxes and payroll related        
Restructuring Cost and Reserve [Line Items]        
Restructuring costs $ 6   $ 6  
XML 98 R85.htm IDEA: XBRL DOCUMENT v3.25.2
RESTRUCTURING - Schedule of Restructuring Accrual (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Restructuring Reserve [Roll Forward]        
Beginning balance     $ 0  
Restructuring costs $ 216 $ 0 529 $ 0
Cash payments     (36)  
Impact of foreign currency translation adjustments     30  
Ending balance $ 523   $ 523  
XML 99 R86.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE BENEFIT PLANS - Narrative (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2025
USD ($)
Postemployment Benefits [Abstract]  
Employee contributions match 10.00%
Maximum employee contribution limit $ 5
Employer contributions vesting period 4 years
Amount recorded in Other Liabilities for TFR $ 1,600
XML 100 R87.htm IDEA: XBRL DOCUMENT v3.25.2
EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Postemployment Benefits [Abstract]        
Discretionary employer matching contributions $ 205 $ 219 $ 564 $ 608
XML 101 R88.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION - Narrative (Details) - segment
6 Months Ended
Mar. 17, 2025
Mar. 06, 2024
Jun. 30, 2025
Segment Reporting [Abstract]      
Number of operating segments 3 3 3
Number of reportable segments     3
Number of reporting units     3
XML 102 R89.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION - Segment Reporting Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Segment Reporting Information [Line Items]              
Revenue $ 28,130   $ 33,991   $ 54,767 $ 63,815  
Cost of revenue 16,157   20,194   31,738 36,942  
Other divisional costs 9,403   10,091   19,826 19,378  
Division operating income (loss) 2,570   3,706   3,203 7,495  
Amortization of acquired intangible assets 850   897   1,663 1,492  
Restructuring costs 216   0   529 0  
Corporate expenses 2,431   2,473   4,819 5,175  
Operating (loss) income (927)   336   (3,808) 828  
Interest expense (119)   (253)   (271) (393)  
Other income 463   213   707 648  
(Loss) earnings before income tax (benefit) expense (583)   296   (3,372) 1,083  
Depreciation 314   356   630 629  
Amortization of deferred compensation related to stock-based awards 435 $ 423 564 $ 349 858 913  
Capital expenditures 462   316   691 656  
Total assets 149,653   160,554   149,653 160,554 $ 152,288
Corporate & Other              
Segment Reporting Information [Line Items]              
Amortization of acquired intangible assets 850   897   1,663 1,492  
Restructuring costs 216       529    
Corporate expenses 2,431   2,473   4,819 5,175  
Operating (loss) income (3,497)   (3,370)   (7,011) (6,667)  
Interest expense (119)   (253)   (271) (393)  
Other income 463   213   707 648  
(Loss) earnings before income tax (benefit) expense (3,153)   (3,410)   (6,575) (6,412)  
Depreciation 39   22   74 43  
Amortization of deferred compensation related to stock-based awards 200   411   549 687  
Capital expenditures 366   71   373 76  
Total assets 1,475   1,599   1,475 1,599  
Electronic Test | Operating Segments              
Segment Reporting Information [Line Items]              
Revenue 13,733   16,159   26,992 27,275  
Cost of revenue 7,418   9,462   14,731 15,008  
Other divisional costs 4,755   4,954   10,020 8,711  
Division operating income (loss) 1,560   1,743   2,241 3,556  
Operating (loss) income 1,560   1,743   2,241 3,556  
(Loss) earnings before income tax (benefit) expense 1,560   1,743   2,241 3,556  
Depreciation 152   154   306 242  
Amortization of deferred compensation related to stock-based awards 86   53   140 106  
Capital expenditures 63   106   197 142  
Total assets 76,259   81,668   76,259 81,668  
Environmental Technologies | Operating Segments              
Segment Reporting Information [Line Items]              
Revenue 7,215   8,273   13,483 15,101  
Cost of revenue 4,534   5,016   8,697 9,549  
Other divisional costs 2,070   2,264   4,430 4,544  
Division operating income (loss) 611   993   356 1,008  
Operating (loss) income 611   993   356 1,008  
(Loss) earnings before income tax (benefit) expense 611   993   356 1,008  
Depreciation 62   80   127 144  
Amortization of deferred compensation related to stock-based awards 81   48   49 86  
Capital expenditures 24   122   106 351  
Total assets 21,944   21,827   21,944 21,827  
Process Technologies | Operating Segments              
Segment Reporting Information [Line Items]              
Revenue 7,182   9,559   14,292 21,439  
Cost of revenue 4,205   5,716   8,310 12,385  
Other divisional costs 2,578   2,873   5,376 6,123  
Division operating income (loss) 399   970   606 2,931  
Operating (loss) income 399   970   606 2,931  
(Loss) earnings before income tax (benefit) expense 399   970   606 2,931  
Depreciation 61   100   123 200  
Amortization of deferred compensation related to stock-based awards 68   52   120 34  
Capital expenditures 9   17   15 87  
Total assets $ 49,975   $ 55,460   $ 49,975 $ 55,460  
XML 103 R90.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Segment Reporting Information [Line Items]        
Revenue $ 28,130 $ 33,991 $ 54,767 $ 63,815
U.S.        
Segment Reporting Information [Line Items]        
Revenue 12,372 14,423 25,038 24,900
Foreign        
Segment Reporting Information [Line Items]        
Revenue $ 15,758 $ 19,568 $ 29,729 $ 38,915
XML 104 R91.htm IDEA: XBRL DOCUMENT v3.25.2
SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details) - USD ($)
$ in Thousands
Jun. 30, 2025
Dec. 31, 2024
Segment Reporting Information [Line Items]    
Property and equipment $ 4,677 $ 4,457
U.S.    
Segment Reporting Information [Line Items]    
Property and equipment 2,113 2,280
Foreign    
Segment Reporting Information [Line Items]    
Property and equipment $ 2,564 $ 2,177
XML 105 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 106 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ .report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } .report table.authRefData a { display: block; font-weight: bold; } .report table.authRefData p { margin-top: 0px; } .report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } .report table.authRefData .hide a:hover { background-color: #2F4497; } .report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } .report table.authRefData table{ font-size: 1em; } /* Report Styles */ .pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ .report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } .report hr { border: 1px solid #acf; } /* Top labels */ .report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } .report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } .report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } .report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } .report td.pl div.a { width: 200px; } .report td.pl a:hover { background-color: #ffc; } /* Header rows... */ .report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ .report .rc { background-color: #f0f0f0; } /* Even rows... */ .report .re, .report .reu { background-color: #def; } .report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ .report .ro, .report .rou { background-color: white; } .report .rou td { border-bottom: 1px solid black; } .report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ .report .fn { white-space: nowrap; } /* styles for numeric types */ .report .num, .report .nump { text-align: right; white-space: nowrap; } .report .nump { padding-left: 2em; } .report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ .report .text { text-align: left; white-space: normal; } .report .text .big { margin-bottom: 1em; width: 17em; } .report .text .more { display: none; } .report .text .note { font-style: italic; font-weight: bold; } .report .text .small { width: 10em; } .report sup { font-style: italic; } .report .outerFootnotes { font-size: 1em; } XML 108 FilingSummary.xml IDEA: XBRL DOCUMENT 3.25.2 html 371 406 1 false 99 0 false 9 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.intest.com/role/CoverPage Cover Page Cover 1 false false R2.htm 9952151 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals) Sheet http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals CONSOLIDATED BALANCE SHEETS (Parentheticals) Statements 3 false false R4.htm 9952153 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) Sheet http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) Statements 4 false false R5.htm 9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited) Sheet http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited) Statements 5 false false R6.htm 9952155 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited) Sheet http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited) Statements 6 false false R7.htm 9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Sheet http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Statements 7 false false R8.htm 9952157 - Disclosure - NATURE OF OPERATIONS Sheet http://www.intest.com/role/NATUREOFOPERATIONS NATURE OF OPERATIONS Notes 8 false false R9.htm 9952158 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIES SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 9952159 - Disclosure - ACQUISITION Sheet http://www.intest.com/role/ACQUISITION ACQUISITION Notes 10 false false R11.htm 9952160 - Disclosure - INVENTORIES Sheet http://www.intest.com/role/INVENTORIES INVENTORIES Notes 11 false false R12.htm 9952161 - Disclosure - PROPERTY AND EQUIPMENT Sheet http://www.intest.com/role/PROPERTYANDEQUIPMENT PROPERTY AND EQUIPMENT Notes 12 false false R13.htm 9952162 - Disclosure - GOODWILL AND INTANGIBLE ASSETS Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETS GOODWILL AND INTANGIBLE ASSETS Notes 13 false false R14.htm 9952163 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.intest.com/role/FAIRVALUEMEASUREMENTS FAIR VALUE MEASUREMENTS Notes 14 false false R15.htm 9952164 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Sheet http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIES ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Notes 15 false false R16.htm 9952165 - Disclosure - LEASES Sheet http://www.intest.com/role/LEASES LEASES Notes 16 false false R17.htm 9952166 - Disclosure - DEBT Sheet http://www.intest.com/role/DEBT DEBT Notes 17 false false R18.htm 9952167 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS Sheet http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERS REVENUE FROM CONTRACTS WITH CUSTOMERS Notes 18 false false R19.htm 9952168 - Disclosure - EARNINGS (LOSS) PER SHARE Sheet http://www.intest.com/role/EARNINGSLOSSPERSHARE EARNINGS (LOSS) PER SHARE Notes 19 false false R20.htm 9952169 - Disclosure - EQUITY Sheet http://www.intest.com/role/EQUITY EQUITY Notes 20 false false R21.htm 9952170 - Disclosure - STOCK-BASED COMPENSATION PLAN Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLAN STOCK-BASED COMPENSATION PLAN Notes 21 false false R22.htm 9952171 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN Sheet http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLAN EMPLOYEE STOCK PURCHASE PLAN Notes 22 false false R23.htm 9952172 - Disclosure - RESTRUCTURING Sheet http://www.intest.com/role/RESTRUCTURING RESTRUCTURING Notes 23 false false R24.htm 9952173 - Disclosure - EMPLOYEE BENEFIT PLANS Sheet http://www.intest.com/role/EMPLOYEEBENEFITPLANS EMPLOYEE BENEFIT PLANS Notes 24 false false R25.htm 9952174 - Disclosure - SEGMENT INFORMATION Sheet http://www.intest.com/role/SEGMENTINFORMATION SEGMENT INFORMATION Notes 25 false false R26.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 26 false false R27.htm 9955511 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 27 false false R28.htm 9955512 - Disclosure - ACQUISITION (Tables) Sheet http://www.intest.com/role/ACQUISITIONTables ACQUISITION (Tables) Tables http://www.intest.com/role/ACQUISITION 28 false false R29.htm 9955513 - Disclosure - INVENTORIES (Tables) Sheet http://www.intest.com/role/INVENTORIESTables INVENTORIES (Tables) Tables http://www.intest.com/role/INVENTORIES 29 false false R30.htm 9955514 - Disclosure - PROPERTY AND EQUIPMENT (Tables) Sheet http://www.intest.com/role/PROPERTYANDEQUIPMENTTables PROPERTY AND EQUIPMENT (Tables) Tables http://www.intest.com/role/PROPERTYANDEQUIPMENT 30 false false R31.htm 9955515 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables GOODWILL AND INTANGIBLE ASSETS (Tables) Tables http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETS 31 false false R32.htm 9955516 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.intest.com/role/FAIRVALUEMEASUREMENTSTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.intest.com/role/FAIRVALUEMEASUREMENTS 32 false false R33.htm 9955517 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) Sheet http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESTables ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) Tables http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIES 33 false false R34.htm 9955518 - Disclosure - LEASES (Tables) Sheet http://www.intest.com/role/LEASESTables LEASES (Tables) Tables http://www.intest.com/role/LEASES 34 false false R35.htm 9955519 - Disclosure - DEBT (Tables) Sheet http://www.intest.com/role/DEBTTables DEBT (Tables) Tables http://www.intest.com/role/DEBT 35 false false R36.htm 9955520 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Sheet http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSTables REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Tables http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERS 36 false false R37.htm 9955521 - Disclosure - EARNINGS (LOSS) PER SHARE (Tables) Sheet http://www.intest.com/role/EARNINGSLOSSPERSHARETables EARNINGS (LOSS) PER SHARE (Tables) Tables http://www.intest.com/role/EARNINGSLOSSPERSHARE 37 false false R38.htm 9955522 - Disclosure - STOCK-BASED COMPENSATION PLAN (Tables) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables STOCK-BASED COMPENSATION PLAN (Tables) Tables http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLAN 38 false false R39.htm 9955523 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Tables) Sheet http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANTables EMPLOYEE STOCK PURCHASE PLAN (Tables) Tables http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLAN 39 false false R40.htm 9955524 - Disclosure - RESTRUCTURING (Tables) Sheet http://www.intest.com/role/RESTRUCTURINGTables RESTRUCTURING (Tables) Tables http://www.intest.com/role/RESTRUCTURING 40 false false R41.htm 9955525 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables) Sheet http://www.intest.com/role/EMPLOYEEBENEFITPLANSTables EMPLOYEE BENEFIT PLANS (Tables) Tables http://www.intest.com/role/EMPLOYEEBENEFITPLANS 41 false false R42.htm 9955526 - Disclosure - SEGMENT INFORMATION (Tables) Sheet http://www.intest.com/role/SEGMENTINFORMATIONTables SEGMENT INFORMATION (Tables) Tables http://www.intest.com/role/SEGMENTINFORMATION 42 false false R43.htm 9955527 - Disclosure - NATURE OF OPERATIONS (Details) Sheet http://www.intest.com/role/NATUREOFOPERATIONSDetails NATURE OF OPERATIONS (Details) Details http://www.intest.com/role/NATUREOFOPERATIONS 43 false false R44.htm 9955528 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Sheet http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Details http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies 44 false false R45.htm 9955529 - Disclosure - ACQUISITION - Narrative (Details) Sheet http://www.intest.com/role/ACQUISITIONNarrativeDetails ACQUISITION - Narrative (Details) Details 45 false false R46.htm 9955530 - Disclosure - ACQUISITION - Acquired assets and Liabilities Assumed (Details) Sheet http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails ACQUISITION - Acquired assets and Liabilities Assumed (Details) Details 46 false false R47.htm 9955531 - Disclosure - ACQUISITION - Intangible Assets (Details) Sheet http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails ACQUISITION - Intangible Assets (Details) Details 47 false false R48.htm 9955532 - Disclosure - ACQUISITION - Pro Forma Information (Details) Sheet http://www.intest.com/role/ACQUISITIONProFormaInformationDetails ACQUISITION - Pro Forma Information (Details) Details 48 false false R49.htm 9955533 - Disclosure - INVENTORIES (Details) Sheet http://www.intest.com/role/INVENTORIESDetails INVENTORIES (Details) Details http://www.intest.com/role/INVENTORIESTables 49 false false R50.htm 9955534 - Disclosure - PROPERTY AND EQUIPMENT (Details) Sheet http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails PROPERTY AND EQUIPMENT (Details) Details http://www.intest.com/role/PROPERTYANDEQUIPMENTTables 50 false false R51.htm 9955535 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Textual) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSDetailsTextual GOODWILL AND INTANGIBLE ASSETS (Details Textual) Details http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables 51 false false R52.htm 9955536 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesinGoodwillDetails GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details) Details 52 false false R53.htm 9955537 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details) Details 53 false false R54.htm 9955538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Details 54 false false R55.htm 9955539 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIndefinitelivedIntangibleAssetsDetails GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Details 55 false false R56.htm 9955540 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details) Details 56 false false R57.htm 9955541 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details) Sheet http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details) Details 57 false false R58.htm 9955542 - Disclosure - FAIR VALUE MEASUREMENTS - Narrative (Details) Sheet http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails FAIR VALUE MEASUREMENTS - Narrative (Details) Details 58 false false R59.htm 9955543 - Disclosure - FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details) Sheet http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details) Details 59 false false R60.htm 9955544 - Disclosure - FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Sheet http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Details 60 false false R61.htm 9955545 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) Sheet http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) Details http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESTables 61 false false R62.htm 9955546 - Disclosure - LEASES - Lease Costs (Details) Sheet http://www.intest.com/role/LEASESLeaseCostsDetails LEASES - Lease Costs (Details) Details 62 false false R63.htm 9955547 - Disclosure - LEASES - Maturities of Lease Liabilities (Details) Sheet http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails LEASES - Maturities of Lease Liabilities (Details) Details 63 false false R64.htm 9955548 - Disclosure - LEASES - Amortization of ROU Assets (Details) Sheet http://www.intest.com/role/LEASESAmortizationofROUAssetsDetails LEASES - Amortization of ROU Assets (Details) Details 64 false false R65.htm 9955549 - Disclosure - LEASES - Narrative (Details) Sheet http://www.intest.com/role/LEASESNarrativeDetails LEASES - Narrative (Details) Details 65 false false R66.htm 9955550 - Disclosure - DEBT - Outstanding Letters of Credit (Details) Sheet http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails DEBT - Outstanding Letters of Credit (Details) Details 66 false false R67.htm 9955551 - Disclosure - DEBT - Narrative (Details) Sheet http://www.intest.com/role/DEBTNarrativeDetails DEBT - Narrative (Details) Details 67 false false R68.htm 9955552 - Disclosure - DEBT - Future Maturities of Long-term Debt (Details) Sheet http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails DEBT - Future Maturities of Long-term Debt (Details) Details 68 false false R69.htm 9955553 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Sheet http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) Details 69 false false R70.htm 9955554 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details) Sheet http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details) Details 70 false false R71.htm 9955555 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details) Sheet http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details) Details 71 false false R72.htm 9955556 - Disclosure - EARNINGS (LOSS) PER SHARE (Details) Sheet http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails EARNINGS (LOSS) PER SHARE (Details) Details http://www.intest.com/role/EARNINGSLOSSPERSHARETables 72 false false R73.htm 9955557 - Disclosure - EQUITY (Details) Sheet http://www.intest.com/role/EQUITYDetails EQUITY (Details) Details http://www.intest.com/role/EQUITY 73 false false R74.htm 9955558 - Disclosure - STOCK-BASED COMPENSATION PLAN - Narrative (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails STOCK-BASED COMPENSATION PLAN - Narrative (Details) Details 74 false false R75.htm 9955559 - Disclosure - STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details) Details 75 false false R76.htm 9955560 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details) Details 76 false false R77.htm 9955561 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details) Details 77 false false R78.htm 9955562 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityAdditionalInformationDetails STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details) Details 78 false false R79.htm 9955563 - Disclosure - STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details) Sheet http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details) Details 79 false false R80.htm 9955564 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Details Textual) Sheet http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual EMPLOYEE STOCK PURCHASE PLAN (Details Textual) Details http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANTables 80 false false R81.htm 9955565 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details) Sheet http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details) Details 81 false false R82.htm 9955566 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details) Sheet http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details) Details 82 false false R83.htm 9955567 - Disclosure - RESTRUCTURING (Details Textual) Sheet http://www.intest.com/role/RESTRUCTURINGDetailsTextual RESTRUCTURING (Details Textual) Details http://www.intest.com/role/RESTRUCTURINGTables 83 false false R84.htm 9955568 - Disclosure - RESTRUCTURING - Schedule of Restructuring Expenses (Details) Sheet http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails RESTRUCTURING - Schedule of Restructuring Expenses (Details) Details 84 false false R85.htm 9955569 - Disclosure - RESTRUCTURING - Schedule of Restructuring Accrual (Details) Sheet http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails RESTRUCTURING - Schedule of Restructuring Accrual (Details) Details 85 false false R86.htm 9955570 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details) Sheet http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails EMPLOYEE BENEFIT PLANS - Narrative (Details) Details 86 false false R87.htm 9955571 - Disclosure - EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details) Sheet http://www.intest.com/role/EMPLOYEEBENEFITPLANSScheduleofMatchingContributionsDetails EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details) Details 87 false false R88.htm 9955572 - Disclosure - SEGMENT INFORMATION - Narrative (Details) Sheet http://www.intest.com/role/SEGMENTINFORMATIONNarrativeDetails SEGMENT INFORMATION - Narrative (Details) Details 88 false false R89.htm 9955573 - Disclosure - SEGMENT INFORMATION - Segment Reporting Information (Details) Sheet http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails SEGMENT INFORMATION - Segment Reporting Information (Details) Details 89 false false R90.htm 9955574 - Disclosure - SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details) Sheet http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details) Details 90 false false R91.htm 9955575 - Disclosure - SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details) Sheet http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details) Details 91 false false All Reports Book All Reports intt-20250630.htm intt-20250630.xsd intt-20250630_cal.xml intt-20250630_def.xml intt-20250630_lab.xml intt-20250630_pre.xml http://fasb.org/srt/2025 http://fasb.org/us-gaap/2025 http://xbrl.sec.gov/dei/2025 http://xbrl.sec.gov/ecd/2025 true true JSON 111 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "intt-20250630.htm": { "nsprefix": "intt", "nsuri": "http://www.intest.com/20250630", "dts": { "inline": { "local": [ "intt-20250630.htm" ] }, "schema": { "local": [ "intt-20250630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd", "https://xbrl.sec.gov/country/2025/country-2025.xsd", "https://xbrl.sec.gov/dei/2025/dei-2025.xsd", "https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd", "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd" ] }, "calculationLink": { "local": [ "intt-20250630_cal.xml" ] }, "definitionLink": { "local": [ "intt-20250630_def.xml" ] }, "labelLink": { "local": [ "intt-20250630_lab.xml" ] }, "presentationLink": { "local": [ "intt-20250630_pre.xml" ] } }, "keyStandard": 367, "keyCustom": 39, "axisStandard": 35, "axisCustom": 0, "memberStandard": 44, "memberCustom": 51, "hidden": { "total": 8, "http://xbrl.sec.gov/dei/2025": 5, "http://fasb.org/us-gaap/2025": 3 }, "contextCount": 371, "entityCount": 1, "segmentCount": 99, "elementCount": 751, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2025": 1261, "http://xbrl.sec.gov/dei/2025": 30, "http://xbrl.sec.gov/ecd/2025": 4, "http://fasb.org/srt/2025": 1 }, "report": { "R1": { "role": "http://www.intest.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "longName": "9952151 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "longName": "9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "longName": "9952153 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:GrossProfit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R5": { "role": "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited", "longName": "9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (LOSS) (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R6": { "role": "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited", "longName": "9952155 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-36", "name": "us-gaap:CommonStockSharesIssued", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-42", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R7": { "role": "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "longName": "9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R8": { "role": "http://www.intest.com/role/NATUREOFOPERATIONS", "longName": "9952157 - Disclosure - NATURE OF OPERATIONS", "shortName": "NATURE OF OPERATIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIES", "longName": "9952158 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.intest.com/role/ACQUISITION", "longName": "9952159 - Disclosure - ACQUISITION", "shortName": "ACQUISITION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.intest.com/role/INVENTORIES", "longName": "9952160 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.intest.com/role/PROPERTYANDEQUIPMENT", "longName": "9952161 - Disclosure - PROPERTY AND EQUIPMENT", "shortName": "PROPERTY AND EQUIPMENT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETS", "longName": "9952162 - Disclosure - GOODWILL AND INTANGIBLE ASSETS", "shortName": "GOODWILL AND INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.intest.com/role/FAIRVALUEMEASUREMENTS", "longName": "9952163 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIES", "longName": "9952164 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.intest.com/role/LEASES", "longName": "9952165 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.intest.com/role/DEBT", "longName": "9952166 - Disclosure - DEBT", "shortName": "DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERS", "longName": "9952167 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.intest.com/role/EARNINGSLOSSPERSHARE", "longName": "9952168 - Disclosure - EARNINGS (LOSS) PER SHARE", "shortName": "EARNINGS (LOSS) PER SHARE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.intest.com/role/EQUITY", "longName": "9952169 - Disclosure - EQUITY", "shortName": "EQUITY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLAN", "longName": "9952170 - Disclosure - STOCK-BASED COMPENSATION PLAN", "shortName": "STOCK-BASED COMPENSATION PLAN", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLAN", "longName": "9952171 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN", "shortName": "EMPLOYEE STOCK PURCHASE PLAN", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "intt:EmployeeStockPurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "intt:EmployeeStockPurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.intest.com/role/RESTRUCTURING", "longName": "9952172 - Disclosure - RESTRUCTURING", "shortName": "RESTRUCTURING", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.intest.com/role/EMPLOYEEBENEFITPLANS", "longName": "9952173 - Disclosure - EMPLOYEE BENEFIT PLANS", "shortName": "EMPLOYEE BENEFIT PLANS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.intest.com/role/SEGMENTINFORMATION", "longName": "9952174 - Disclosure - SEGMENT INFORMATION", "shortName": "SEGMENT INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R26": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "c-5", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies", "longName": "9955511 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:UseOfEstimates", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:UseOfEstimates", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.intest.com/role/ACQUISITIONTables", "longName": "9955512 - Disclosure - ACQUISITION (Tables)", "shortName": "ACQUISITION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.intest.com/role/INVENTORIESTables", "longName": "9955513 - Disclosure - INVENTORIES (Tables)", "shortName": "INVENTORIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.intest.com/role/PROPERTYANDEQUIPMENTTables", "longName": "9955514 - Disclosure - PROPERTY AND EQUIPMENT (Tables)", "shortName": "PROPERTY AND EQUIPMENT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables", "longName": "9955515 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)", "shortName": "GOODWILL AND INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.intest.com/role/FAIRVALUEMEASUREMENTSTables", "longName": "9955516 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESTables", "longName": "9955517 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.intest.com/role/LEASESTables", "longName": "9955518 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.intest.com/role/DEBTTables", "longName": "9955519 - Disclosure - DEBT (Tables)", "shortName": "DEBT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSTables", "longName": "9955520 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.intest.com/role/EARNINGSLOSSPERSHARETables", "longName": "9955521 - Disclosure - EARNINGS (LOSS) PER SHARE (Tables)", "shortName": "EARNINGS (LOSS) PER SHARE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables", "longName": "9955522 - Disclosure - STOCK-BASED COMPENSATION PLAN (Tables)", "shortName": "STOCK-BASED COMPENSATION PLAN (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANTables", "longName": "9955523 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Tables)", "shortName": "EMPLOYEE STOCK PURCHASE PLAN (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.intest.com/role/RESTRUCTURINGTables", "longName": "9955524 - Disclosure - RESTRUCTURING (Tables)", "shortName": "RESTRUCTURING (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.intest.com/role/EMPLOYEEBENEFITPLANSTables", "longName": "9955525 - Disclosure - EMPLOYEE BENEFIT PLANS (Tables)", "shortName": "EMPLOYEE BENEFIT PLANS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "41", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanDisclosuresTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanDisclosuresTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.intest.com/role/SEGMENTINFORMATIONTables", "longName": "9955526 - Disclosure - SEGMENT INFORMATION (Tables)", "shortName": "SEGMENT INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "42", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.intest.com/role/NATUREOFOPERATIONSDetails", "longName": "9955527 - Disclosure - NATURE OF OPERATIONS (Details)", "shortName": "NATURE OF OPERATIONS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-271", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": null }, "R44": { "role": "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails", "longName": "9955528 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-1", "name": "intt:ExcessInventoryThreshold", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "intt:ExcessInventoryThreshold", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "longName": "9955529 - Disclosure - ACQUISITION - Narrative (Details)", "shortName": "ACQUISITION - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-74", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "eur", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-74", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "eur", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "longName": "9955530 - Disclosure - ACQUISITION - Acquired assets and Liabilities Assumed (Details)", "shortName": "ACQUISITION - Acquired assets and Liabilities Assumed (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-76", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R47": { "role": "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "longName": "9955531 - Disclosure - ACQUISITION - Intangible Assets (Details)", "shortName": "ACQUISITION - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-74", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-74", "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails", "longName": "9955532 - Disclosure - ACQUISITION - Pro Forma Information (Details)", "shortName": "ACQUISITION - Pro Forma Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-7", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-7", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.intest.com/role/INVENTORIESDetails", "longName": "9955533 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R50": { "role": "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails", "longName": "9955534 - Disclosure - PROPERTY AND EQUIPMENT (Details)", "shortName": "PROPERTY AND EQUIPMENT (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R51": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSDetailsTextual", "longName": "9955535 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Textual)", "shortName": "GOODWILL AND INTANGIBLE ASSETS (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-271", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": null }, "R52": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesinGoodwillDetails", "longName": "9955536 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Changes in Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "longName": "9955537 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-86", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R54": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails", "longName": "9955538 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R55": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIndefinitelivedIntangibleAssetsDetails", "longName": "9955539 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R56": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails", "longName": "9955540 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails", "longName": "9955541 - Disclosure - GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details)", "shortName": "GOODWILL AND INTANGIBLE ASSETS - Future Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails", "longName": "9955542 - Disclosure - FAIR VALUE MEASUREMENTS - Narrative (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-106", "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "unitRef": "cad", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-106", "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "unitRef": "cad", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails", "longName": "9955543 - Disclosure - FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Liabilities Measured at Fair Value on Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-111", "name": "us-gaap:DerivativeAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R60": { "role": "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails", "longName": "9955544 - Disclosure - FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-127", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-127", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails", "longName": "9955545 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details)", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.intest.com/role/LEASESLeaseCostsDetails", "longName": "9955546 - Disclosure - LEASES - Lease Costs (Details)", "shortName": "LEASES - Lease Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails", "longName": "9955547 - Disclosure - LEASES - Maturities of Lease Liabilities (Details)", "shortName": "LEASES - Maturities of Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.intest.com/role/LEASESAmortizationofROUAssetsDetails", "longName": "9955548 - Disclosure - LEASES - Amortization of ROU Assets (Details)", "shortName": "LEASES - Amortization of ROU Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.intest.com/role/LEASESNarrativeDetails", "longName": "9955549 - Disclosure - LEASES - Narrative (Details)", "shortName": "LEASES - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncreaseDecreaseInOperatingLeaseLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-139", "name": "intt:SemiAnnualLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R66": { "role": "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails", "longName": "9955550 - Disclosure - DEBT - Outstanding Letters of Credit (Details)", "shortName": "DEBT - Outstanding Letters of Credit (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-148", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-148", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.intest.com/role/DEBTNarrativeDetails", "longName": "9955551 - Disclosure - DEBT - Narrative (Details)", "shortName": "DEBT - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "c-3", "name": "intt:LettersOfCreditRenewalPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "intt:LettersOfCreditRenewalPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "longName": "9955552 - Disclosure - DEBT - Future Maturities of Long-term Debt (Details)", "shortName": "DEBT - Future Maturities of Long-term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "longName": "9955553 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-204", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R70": { "role": "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails", "longName": "9955554 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R71": { "role": "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails", "longName": "9955555 - Disclosure - REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details)", "shortName": "REVENUE FROM CONTRACTS WITH CUSTOMERS - Activity Related to Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "c-25", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-25", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails", "longName": "9955556 - Disclosure - EARNINGS (LOSS) PER SHARE (Details)", "shortName": "EARNINGS (LOSS) PER SHARE (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R73": { "role": "http://www.intest.com/role/EQUITYDetails", "longName": "9955557 - Disclosure - EQUITY (Details)", "shortName": "EQUITY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "c-236", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-236", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "longName": "9955558 - Disclosure - STOCK-BASED COMPENSATION PLAN - Narrative (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R75": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails", "longName": "9955559 - Disclosure - STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Summary of Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-239", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R76": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "longName": "9955560 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Stock Options Valuation Assumptions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "c-70", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-70", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R77": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails", "longName": "9955561 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Stock Option Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R78": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityAdditionalInformationDetails", "longName": "9955562 - Disclosure - STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Stock Option Activity Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R79": { "role": "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "longName": "9955563 - Disclosure - STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details)", "shortName": "STOCK-BASED COMPENSATION PLAN - Schedule of Restricted Stock Awards Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "79", "firstAnchor": { "contextRef": "c-257", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-257", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R80": { "role": "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "longName": "9955564 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN (Details Textual)", "shortName": "EMPLOYEE STOCK PURCHASE PLAN (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "c-300", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-300", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R81": { "role": "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "longName": "9955565 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details)", "shortName": "EMPLOYEE STOCK PURCHASE PLAN - Schedule of ESPP Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-302", "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R82": { "role": "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "longName": "9955566 - Disclosure - EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details)", "shortName": "EMPLOYEE STOCK PURCHASE PLAN - Per Share Prices Related to ESPP (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "c-305", "name": "us-gaap:SharePrice", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-305", "name": "us-gaap:SharePrice", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R83": { "role": "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "longName": "9955567 - Disclosure - RESTRUCTURING (Details Textual)", "shortName": "RESTRUCTURING (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "83", "firstAnchor": { "contextRef": "c-309", "name": "us-gaap:RestructuringAndRelatedCostExpectedCost1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-309", "name": "us-gaap:RestructuringAndRelatedCostExpectedCost1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R84": { "role": "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "longName": "9955568 - Disclosure - RESTRUCTURING - Schedule of Restructuring Expenses (Details)", "shortName": "RESTRUCTURING - Schedule of Restructuring Expenses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "84", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RestructuringCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-324", "name": "us-gaap:RestructuringCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R85": { "role": "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails", "longName": "9955569 - Disclosure - RESTRUCTURING - Schedule of Restructuring Accrual (Details)", "shortName": "RESTRUCTURING - Schedule of Restructuring Accrual (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "85", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:RestructuringReserve", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:RestructuringReserve", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R86": { "role": "http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails", "longName": "9955570 - Disclosure - EMPLOYEE BENEFIT PLANS - Narrative (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "86", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R87": { "role": "http://www.intest.com/role/EMPLOYEEBENEFITPLANSScheduleofMatchingContributionsDetails", "longName": "9955571 - Disclosure - EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details)", "shortName": "EMPLOYEE BENEFIT PLANS - Schedule of Matching Contributions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "87", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DefinedContributionPlanDisclosuresTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DefinedContributionPlanDisclosuresTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true, "unique": true } }, "R88": { "role": "http://www.intest.com/role/SEGMENTINFORMATIONNarrativeDetails", "longName": "9955572 - Disclosure - SEGMENT INFORMATION - Narrative (Details)", "shortName": "SEGMENT INFORMATION - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "88", "firstAnchor": { "contextRef": "c-271", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": null }, "R89": { "role": "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails", "longName": "9955573 - Disclosure - SEGMENT INFORMATION - Segment Reporting Information (Details)", "shortName": "SEGMENT INFORMATION - Segment Reporting Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "89", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OtherOperatingIncomeExpenseNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R90": { "role": "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails", "longName": "9955574 - Disclosure - SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details)", "shortName": "SEGMENT INFORMATION - Net Revenue From Unaffiliated Customers (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "90", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-360", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } }, "R91": { "role": "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "longName": "9955575 - Disclosure - SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details)", "shortName": "SEGMENT INFORMATION - Long-lived Assets by Geographical Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "91", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PropertyPlantAndEquipmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-368", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "intt-20250630.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIES" ], "lang": { "en-us": { "role": { "terseLabel": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r50", "r53", "r58", "r1393" ] }, "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsPayableAndOtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 }, "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails", "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Accrued expenses and other current liabilities", "label": "Accounts Payable and Other Accrued Liabilities, Current", "documentation": "Amount of liabilities incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r50", "r1095" ] }, "intt_AccountsReceivableAllowanceForCreditLossForeignCurrencyTranslationImpact": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AccountsReceivableAllowanceForCreditLossForeignCurrencyTranslationImpact", "crdr": "credit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation impact", "label": "Accounts Receivable, Allowance for Credit Loss, Foreign Currency Translation Impact", "documentation": "Accounts Receivable, Allowance for Credit Loss, Foreign Currency Translation Impact" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Activity Related to Allowance for Credit Losses", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r1316" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Trade accounts receivable, net of allowance for credit losses of $464 and $423, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r1313" ] }, "us-gaap_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued professional fees", "label": "Accrued Professional Fees, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r53" ] }, "us-gaap_AccruedSalesCommissionCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccruedSalesCommissionCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued sales commissions", "label": "Accrued Sales Commission, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r53", "r965" ] }, "intt_AcculogicMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AcculogicMember", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acculogic", "label": "Acculogic [Member]", "documentation": "Represents Acculogic." } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, accumulated depreciation", "negatedTerseLabel": "Less: accumulated depreciation", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r37", "r183", "r812" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive earnings (loss)", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r20", "r21", "r71", "r190", "r808", "r847", "r848", "r1422" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Earnings (Loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r1", "r10", "r21", "r675", "r678", "r742", "r843", "r844", "r1238", "r1239", "r1240", "r1294", "r1295", "r1296", "r1297" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Estimated Useful Life", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r350", "r958" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r1165" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r63", "r1095", "r1491" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r858", "r1294", "r1295", "r1296", "r1297", "r1423", "r1493" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r1178" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r1178" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r1178" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r1178" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net (loss) earnings to net cash provided (used in) by operating activities:", "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Noncash Item [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r1391" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of deferred compensation related to stock-based awards", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r496" ] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table", "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r1211" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r1137", "r1147", "r1157", "r1189" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r1140", "r1150", "r1160", "r1192" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Pension Adjustments Service Cost", "label": "Aggregate Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r1212" ] }, "intt_AlfamationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AlfamationMember", "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails", "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/LEASESNarrativeDetails", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Alfamation", "label": "Alfamation [Member]", "documentation": "Relating to Alfamation." } } }, "auth_ref": [] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r1178" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r1185" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1185", "r1193", "r1197", "r1205" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r1203" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total discount (compensation expense)", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r529", "r536", "r545" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r191", "r316", "r321", "r322", "r327", "r1458" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Trade accounts receivable, allowance for credit losses", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r191", "r316", "r321" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Write-offs", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r325" ] }, "intt_AmendedLoanAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AmendedLoanAgreementMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amended Loan Agreement", "label": "Amended Loan Agreement [Member]", "documentation": "Represents The Loan Agreement, As Amended by the Third Amendment, the \u201camended Loan Agreement." } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "AmendmentFlag", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of acquired intangible assets", "negatedLabel": "Amortization", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets." } } }, "auth_ref": [ "r5", "r217", "r347", "r354", "r962", "r974", "r976", "r979", "r982" ] }, "intt_AnnualLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AnnualLeasePayments", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease payments", "label": "Annual Lease Payments", "documentation": "Represents the amount of annual lease payments." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r264" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "terseLabel": "Total assets", "label": "Assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r106", "r116", "r187", "r227", "r230", "r231", "r269", "r282", "r300", "r304", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r633", "r636", "r713", "r796", "r797", "r803", "r893", "r998", "r999", "r1016", "r1095", "r1112", "r1114", "r1128", "r1356", "r1357", "r1446" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "ASSETS", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r178", "r194", "r227", "r230", "r231", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r633", "r636", "r713", "r1095", "r1356", "r1357", "r1446" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "intt_AutomotiveMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "AutomotiveMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Auto/EV", "label": "Automotive [Member]", "documentation": "Represents Automotive." } } }, "auth_ref": [] }, "us-gaap_AwardDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AwardDateAxis", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Date [Axis]", "label": "Award Date [Axis]", "documentation": "Information by date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_AwardDateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AwardDateDomain", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Date [Domain]", "label": "Award Date [Domain]", "documentation": "Date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r1200" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r1201" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r1196" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r1196" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r1196" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r1196" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r1196" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r1196" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AwardTypeAxis", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r1199" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r1198" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r1197" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r1197" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [ "r1287" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Domain]", "label": "Business Combination [Domain]", "documentation": "Business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r345", "r348", "r349", "r350", "r351", "r352", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r605", "r606", "r607", "r608", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r627", "r628", "r629", "r850", "r1031", "r1032", "r1398", "r1401", "r1403" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Axis]", "label": "Business Combination [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r345", "r348", "r349", "r350", "r351", "r352", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r605", "r606", "r607", "r608", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r627", "r628", "r629", "r850", "r1031", "r1032", "r1398", "r1401", "r1403" ] }, "us-gaap_BusinessAcquisitionContingentConsiderationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionContingentConsiderationLineItems", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Contingent Consideration [Line Items]", "label": "Business Combination, Contingent Consideration [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r618", "r619", "r620", "r621", "r625", "r627", "r628" ] }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business acquisition, shares of common stock issued (in shares)", "label": "Business Combination, Consideration Transferred, Equity Interest, Share Issued, Number of Shares", "documentation": "Number of shares of equity interest issued or issuable by acquirer as part of consideration transferred in business combination." } } }, "auth_ref": [ "r1037", "r1042", "r1043", "r1077", "r1078" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Line Items]", "label": "Business Combination [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r345", "r569", "r570", "r571", "r572", "r578", "r579", "r580", "r581", "r587", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r605", "r606", "r607", "r608", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r623", "r624", "r625", "r629", "r1037", "r1047", "r1398", "r1401", "r1403" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "presentation": [ "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Diluted (loss) earnings per share", "label": "Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Diluted", "documentation": "Per diluted share amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r1215", "r1216", "r1399" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.intest.com/role/ACQUISITIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Pro Forma Information", "label": "Business Combination, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma revenue and earnings for business combination or aggregate of series of individually immaterial business combinations." } } }, "auth_ref": [ "r1037", "r1048", "r1215", "r1216", "r1399" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Net (loss) earnings", "label": "Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax", "documentation": "Amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r584", "r585", "r587", "r1037", "r1048", "r1049" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue", "label": "Business Combination, Pro Forma Information, Pro Forma Revenue", "documentation": "Amount of pro forma revenue of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r584", "r585", "r587", "r1037", "r1048" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Transaction costs", "label": "Business Combination, Acquisition-Related Cost, Expense", "documentation": "Amount of expense for acquisition-related cost incurred to effect business combination. Includes, but is not limited to, finder's fee; advisory, legal, accounting, valuation, and other professional and consulting fees; and general administrative cost, including cost of maintaining internal acquisition department." } } }, "auth_ref": [ "r1396", "r1400" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r613", "r625", "r1037", "r1042" ] }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business acquisition, common stock issued", "label": "Business Combination, Consideration Transferred, Equity Interest", "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination." } } }, "auth_ref": [ "r1037", "r1042", "r1043", "r1077", "r1078" ] }, "intt_BusinessCombinationContingentConsiderationArrangementsAdditionalPaymentPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "BusinessCombinationContingentConsiderationArrangementsAdditionalPaymentPeriod", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration payable, additional period", "label": "Business Combination, Contingent Consideration Arrangements, Additional Payment Period", "documentation": "Business Combination, Contingent Consideration Arrangements, Additional Payment Period" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration payable, additional", "label": "Business Combination, Contingent Consideration, Range of Outcomes, Maximum, Amount", "documentation": "Maximum amount of estimate for undiscounted range of outcomes in contingent consideration arrangement in business combination." } } }, "auth_ref": [ "r620", "r625", "r1037", "r1044" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated fair value", "label": "Business Combination, Contingent Consideration, Liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r618", "r625", "r691", "r692", "r693", "r1037", "r1044" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Contingent consideration - current", "label": "Business Combination, Contingent Consideration, Liability, Current", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r1407", "r1410" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration, net of current portion", "negatedLabel": "Contingent consideration - long term", "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r1407", "r1410" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/ACQUISITION" ], "lang": { "en-us": { "role": { "terseLabel": "ACQUISITION", "label": "Business Combination [Text Block]", "documentation": "The entire disclosure for business combination." } } }, "auth_ref": [ "r566", "r569", "r573", "r582", "r586", "r587", "r588", "r589", "r590", "r591", "r593", "r594", "r600", "r603", "r604", "r610", "r611", "r612", "r620", "r624", "r625", "r626", "r628", "r630", "r1037", "r1038", "r1039", "r1040", "r1044", "r1045", "r1046" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business acquisition, purchase price adjustment", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to items of consideration transferred in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r1405", "r1406" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentInventory", "crdr": "debit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory step-up", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Inventory", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to inventory acquired in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r1405", "r1406" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash", "label": "Business Combination, Recognized Asset Acquired, Cash and Cash Equivalent", "documentation": "Amount of cash and cash equivalent acquired in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Other current assets", "label": "Business Combination, Recognized Asset Acquired, Other Asset, Current", "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and current." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Trade accounts receivable", "label": "Business Combination, Recognized Asset Acquired, Receivable, Current", "documentation": "Amount of receivable acquired in business combination and recognized at acquisition date, classified as current. Includes, but is not limited to, receivable from customer for product and service." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts payable", "label": "Business Combination, Recognized Liability Assumed, Accounts Payable, Current", "documentation": "Amount of accounts payable assumed in business combination and recognized at acquisition date, classified as current." } } }, "auth_ref": [ "r1402", "r1404" ] }, "intt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accrued expenses and other current liabilities", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Accrued Liabilities", "documentation": "Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Other non-current liabilities", "label": "Business Combination, Recognized Liability Assumed, Other Liability, Current", "documentation": "Amount of liability assumed in business combination and recognized at acquisition date, classified as other and current." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Deferred tax liability", "label": "Business Combination, Recognized Liability Assumed, Deferred Tax Liability", "documentation": "Amount of deferred tax liability assumed in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Identifiable intangible assets", "label": "Business Combination, Recognized Asset Acquired, Identifiable Intangible Asset, Excluding Goodwill", "documentation": "Amount of identifiable intangible asset acquired in business combination and recognized at acquisition date. Excludes goodwill and financial asset." } } }, "auth_ref": [ "r1037", "r1042", "r1045", "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "Business Combination, Recognized Asset Acquired, Inventory, Current", "documentation": "Amount of inventory acquired in business combination and recognized at acquisition date, classified as current." } } }, "auth_ref": [ "r1037", "r1042", "r1402", "r1404" ] }, "intt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesDebt", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business acquisition, debt assumed", "negatedLabel": "Debt (current and long-term)", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Liabilities Debt", "documentation": "Amount of debt obligations assumed in business combination." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Other assets", "label": "Business Combination, Recognized Asset Acquired, Other Asset, Noncurrent", "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and noncurrent." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Property and equipment", "label": "Business Combination, Recognized Asset Acquired, Property, Plant, and Equipment", "documentation": "Amount of property, plant, and equipment acquired in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1037", "r1042", "r1402", "r1404" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total purchase price", "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill", "documentation": "Amount of asset acquired in excess of (less than) liability assumed plus goodwill in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_BusinessCombinationsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationsPolicy", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combinations", "label": "Business Combination [Policy Text Block]", "documentation": "Disclosure of accounting policy for business combination." } } }, "auth_ref": [ "r567", "r568", "r574", "r576", "r587", "r599", "r603", "r1037", "r1043", "r1077", "r1078" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalent", "documentation": "Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r25", "r181", "r963" ] }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents", "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]", "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits." } } }, "auth_ref": [ "r26", "r105" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation", "documentation": "Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; attributable to continuing operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r25", "r81", "r224" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in all activities", "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation", "documentation": "Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r0", "r81" ] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES", "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r1176" ] }, "intt_ChiefExecutiveOfficerAndChiefFinancialOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ChiefExecutiveOfficerAndChiefFinancialOfficerMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Chief Executive Officer and Chief Financial Officer", "label": "Chief Executive Officer and Chief Financial Officer [Member]", "documentation": "Related to Chief Executive Officer and Chief Financial Officer." } } }, "auth_ref": [] }, "intt_ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Chief Executive Officer, Chief Financial Officer, and Division Presidents", "label": "Chief Executive Officer, Chief Financial Officer, and Division Presidents [Member]", "documentation": "Pertains to the CEO, CFO, and Division Presidents." } } }, "auth_ref": [] }, "intt_ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management", "label": "Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management [Member]", "documentation": "Chief Executive Officer, Chief Financial Officer And Other Members Of Senior Management" } } }, "auth_ref": [] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year", "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]" } } }, "auth_ref": [ "r1173" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested", "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r1171" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CityAreaCode", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "intt_CityOfRochesterAndStateOfNewYorkMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "CityOfRochesterAndStateOfNewYorkMember", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "City of Rochester and State of New York", "label": "City of Rochester and State of New York [Member]", "documentation": "Represents information related to city of Rochester and state of New York." } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r1177" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r1177" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r59", "r109", "r805", "r880" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares reserved for future issuance (in shares)", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r62" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockMember", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r1117", "r1118", "r1119", "r1121", "r1122", "r1123", "r1126", "r1294", "r1295", "r1297", "r1423", "r1489", "r1493" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in USD per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r62" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r62", "r881" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "periodStartLabel": "Beginning Balance (in shares)", "periodEndLabel": "Ending Balance (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r62" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r11", "r62", "r881", "r899", "r1493", "r1494" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.01 par value; 20,000,000.00 shares authorized; 12,559,753 and 12,457,658 shares issued, respectively; 12,477,676 and 12,378,276 shares outstanding, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r62", "r432", "r438", "r807", "r1095" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r1182" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r1181" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r1183" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r1180" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive earnings (loss)", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r22", "r200", "r202", "r208", "r794", "r817", "r818" ] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r958", "r1073", "r1330", "r1331", "r1332", "r1333", "r1335", "r1337", "r1340", "r1341" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r273", "r311", "r851", "r852", "r945", "r1301", "r1302", "r1303", "r1304", "r1305" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r273", "r311", "r851", "r852", "r945", "r1301", "r1302", "r1303", "r1304", "r1305" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r273", "r311", "r851", "r852", "r945", "r1301", "r1302", "r1303", "r1304", "r1305" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r273", "r311", "r1301", "r1302", "r1303", "r1304", "r1305" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r273", "r311", "r851", "r852", "r945", "r1301", "r1302", "r1303", "r1304", "r1305" ] }, "srt_ConsolidatedEntitiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidatedEntitiesAxis", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Axis]", "label": "Consolidated Entities [Axis]", "documentation": "Information by consolidated entity or group of entities." } } }, "auth_ref": [ "r129", "r149", "r228", "r236", "r633", "r634", "r635", "r636", "r637", "r744", "r800", "r950", "r1220", "r1223", "r1224", "r1355", "r1358", "r1359" ] }, "srt_ConsolidatedEntitiesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidatedEntitiesDomain", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Domain]", "label": "Consolidated Entities [Domain]", "documentation": "Entity or group of entities consolidated into reporting entity." } } }, "auth_ref": [ "r129", "r149", "r228", "r236", "r633", "r634", "r635", "r636", "r637", "r744", "r800", "r950", "r1220", "r1223", "r1224", "r1355", "r1358", "r1359" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]", "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r114", "r129", "r159", "r160", "r161", "r162", "r163", "r164", "r165", "r166", "r167", "r227", "r228", "r232", "r236", "r269", "r284", "r298", "r299", "r300", "r301", "r302", "r304", "r305", "r306", "r389", "r390", "r391", "r392", "r394", "r395", "r396", "r397", "r398", "r800", "r998", "r999", "r1221", "r1222", "r1356", "r1357" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]", "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r114", "r129", "r159", "r160", "r161", "r162", "r163", "r164", "r165", "r166", "r167", "r227", "r228", "r232", "r236", "r269", "r284", "r298", "r299", "r300", "r301", "r302", "r304", "r305", "r306", "r389", "r390", "r391", "r392", "r394", "r395", "r396", "r397", "r398", "r800", "r998", "r999", "r1221", "r1222", "r1356", "r1357" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation", "label": "Consolidation, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r48", "r985" ] }, "us-gaap_ContingentConsiderationByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContingentConsiderationByTypeAxis", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Contingent Consideration, Type [Axis]", "label": "Business Combination, Contingent Consideration, Type [Axis]", "documentation": "Information by type of contingent consideration arrangement in business combination." } } }, "auth_ref": [ "r1407", "r1408", "r1409", "r1410", "r1411", "r1412" ] }, "intt_ContingentConsiderationLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ContingentConsiderationLiabilitiesMember", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent Consideration Liabilities", "label": "Contingent Consideration Liabilities [Member]", "documentation": "Represents contingent consideration liabilities." } } }, "auth_ref": [] }, "us-gaap_ContingentConsiderationTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContingentConsiderationTypeDomain", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Contingent Consideration, Type [Domain]", "label": "Business Combination, Contingent Consideration, Type [Domain]", "documentation": "Type of contingent consideration arrangement in business combination." } } }, "auth_ref": [ "r1407", "r1408", "r1409", "r1410", "r1411", "r1412" ] }, "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived", "crdr": "credit", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Grant funds received", "label": "Contingent Liability Repayment Of State And Local Grant Funds Received", "documentation": "Amount of liability recognized arising from contingent for repayment of state and local grant funds received." } } }, "auth_ref": [] }, "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceivedPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceivedPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "State and Local Grant Funds Received", "label": "Contingent Liability, Repayment of State and Local Grant Funds Received, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for contingent liability for repayment of state and local grant funds received." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract liabilities", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r455", "r456", "r458", "r469" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Customer deposits and deferred revenue", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r455", "r456", "r458", "r469" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue, net of current portion", "label": "Contract with Customer, Liability, Noncurrent", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r455", "r456", "r458", "r469" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognized", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r470" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate & Other", "label": "Segment Reporting, Reconciling Item, Corporate Nonsegment [Member]", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r15", "r299", "r300", "r301", "r302", "r305", "r1308" ] }, "intt_CorporatePortionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "CorporatePortionMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate portion of action charges", "label": "Corporate Portion [Member]", "documentation": "Corporate Portion" } } }, "auth_ref": [] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r74", "r227", "r230", "r231", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r713", "r998", "r1356" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CostOfSalesMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenues", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [ "r1082" ] }, "us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring and Other Charges", "label": "Costs Associated with Exit or Disposal Activities or Restructurings, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for recognizing and reporting costs associated with exiting, disposing of, and restructuring certain operations." } } }, "auth_ref": [ "r18", "r91", "r92" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Axis]", "label": "Counterparty Name [Axis]", "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution." } } }, "auth_ref": [ "r168", "r169", "r227", "r233", "r234", "r404", "r443", "r743", "r750", "r802", "r970", "r972", "r973", "r1229", "r1230", "r1231", "r1232", "r1233", "r1234", "r1235", "r1236", "r1237", "r1418", "r1419", "r1420", "r1421" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CreditFacilityAxis", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r387", "r1353" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CreditFacilityDomain", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r387", "r1353" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "intt_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "CustomerAMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer A", "label": "Customer A [Member]", "documentation": "Customer A" } } }, "auth_ref": [] }, "intt_CustomerBacklogMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "CustomerBacklogMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Backlog", "label": "Customer Backlog [Member]", "documentation": "Represents customer backlog." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r311", "r1302" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r1058", "r1330", "r1331", "r1332", "r1333", "r1335", "r1337", "r1340", "r1341" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/DEBT" ], "lang": { "en-us": { "role": { "terseLabel": "DEBT", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r94", "r227", "r229", "r363", "r364", "r365", "r366", "r367", "r386", "r387", "r400", "r406", "r407", "r408", "r409", "r410", "r411", "r416", "r423", "r424", "r426", "r671", "r725" ] }, "intt_DebtInstrumentAmortizationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentAmortizationPeriod", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization period", "label": "Debt Instrument, Amortization Period", "documentation": "Debt Instrument, Amortization Period" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r19", "r52", "r53", "r107", "r108", "r401", "r402", "r403", "r404", "r405", "r407", "r412", "r413", "r414", "r415", "r417", "r418", "r419", "r420", "r421", "r422", "r1011", "r1012", "r1013", "r1014", "r1015", "r1093", "r1288", "r1289", "r1290", "r1293", "r1342", "r1343", "r1344", "r1440", "r1441", "r1455" ] }, "intt_DebtInstrumentCovenantFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentCovenantFixedChargeCoverageRatio", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt covenant, fixed charge ratio", "label": "Debt Instrument Covenant Fixed Charge Coverage Ratio", "documentation": "Represents the covenant for a debt instrument relating to the fixed charge coverage ratio." } } }, "auth_ref": [] }, "intt_DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda": { "xbrltype": "pureItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt covenant, ratio of funded debt to EBITDA", "label": "intt_DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "documentation": "Represents the covenant for a debt instrument relating to the ratio of consolidated funded debt to consolidated EBITDA." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument", "label": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r401", "r725", "r726", "r1012", "r1013", "r1093" ] }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentInterestRateEffectivePercentage", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Annual interest rate", "label": "Debt Instrument, Interest Rate, Effective Percentage", "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium." } } }, "auth_ref": [ "r55", "r428", "r725", "r726", "r1093" ] }, "intt_DebtInstrumentInterestRateInEventOfDefault": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentInterestRateInEventOfDefault", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate in event of default", "label": "intt_DebtInstrumentInterestRateInEventOfDefault", "documentation": "Contractual interest rate for funds borrowed in event of default, under the debt agreement." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Line Items]", "label": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r401", "r402", "r403", "r404", "r405", "r407", "r412", "r413", "r414", "r415", "r417", "r418", "r419", "r420", "r421", "r422", "r425", "r671", "r800", "r1011", "r1012", "r1013", "r1014", "r1015", "r1093", "r1288", "r1289", "r1290", "r1293", "r1440", "r1441" ] }, "intt_DebtInstrumentLongtermFixedInterestRateDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentLongtermFixedInterestRateDebtMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Long-term, Fixed Interest Rate Debt", "label": "Debt Instrument, Long-term, Fixed Interest Rate Debt [Member]", "documentation": "Information pertaining to the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r19", "r401", "r402", "r403", "r404", "r405", "r407", "r412", "r413", "r414", "r415", "r417", "r418", "r419", "r420", "r421", "r422", "r1011", "r1012", "r1013", "r1014", "r1015", "r1093", "r1288", "r1289", "r1290", "r1293", "r1342", "r1343", "r1344", "r1440", "r1441", "r1455" ] }, "intt_DebtInstrumentShorttermVariableInterestRateDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DebtInstrumentShorttermVariableInterestRateDebtMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Short-term, Variable Interest Rate Debt", "label": "Debt Instrument, Short-term, Variable Interest Rate Debt [Member]", "documentation": "Infoamrti0n pertaining to the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentTable", "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-Term Debt Instruments [Table]", "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "Disclosure of information about long-term debt instrument or arrangement." } } }, "auth_ref": [ "r19", "r41", "r42", "r49", "r96", "r97", "r401", "r402", "r403", "r404", "r405", "r407", "r412", "r413", "r414", "r415", "r417", "r418", "r419", "r420", "r421", "r422", "r425", "r671", "r800", "r1011", "r1012", "r1013", "r1014", "r1015", "r1093", "r1288", "r1289", "r1290", "r1293", "r1440", "r1441" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument term", "label": "Debt Instrument, Term", "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentUnusedBorrowingCapacityAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unused borrowing capacity", "label": "Debt Instrument, Unused Borrowing Capacity, Amount", "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date." } } }, "auth_ref": [ "r56", "r386" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average interest rate", "label": "Debt, Weighted Average Interest Rate", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "intt_DefenseAerospaceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DefenseAerospaceMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defense/Aerospace", "label": "Defense/ Aerospace [Member]", "documentation": "Represents defense/ aerospace." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DeferredCompensationLiabilityClassifiedNoncurrent", "crdr": "credit", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amount recorded in Other Liabilities for TFR", "label": "Deferred Compensation Liability, Classified, Noncurrent", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer)." } } }, "auth_ref": [] }, "intt_DeferredGrantProceeds": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DeferredGrantProceeds", "crdr": "credit", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred grant proceeds", "label": "intt_DeferredGrantProceeds", "documentation": "Represents the amount of deferred grant proceeds." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r550", "r551" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liabilities", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r550", "r551", "r804" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income tax expense", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r84" ] }, "us-gaap_DefinedContributionPlanDisclosuresTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DefinedContributionPlanDisclosuresTableTextBlock", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Matching Contributions", "label": "Defined Contribution Plan Disclosures [Table Text Block]", "documentation": "Tabular disclosure of defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans." } } }, "auth_ref": [ "r9" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSScheduleofMatchingContributionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Discretionary employer matching contributions", "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee contributions match", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan." } } }, "auth_ref": [] }, "intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DefinedContributionPlanEmployerMatchingContributionVestingPeriod", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employer contributions vesting period", "label": "Defined Contribution Plan Employer Matching Contribution Vesting Period", "documentation": "Defined contribution plan employer matching contribution vesting period." } } }, "auth_ref": [] }, "intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum employee contribution limit", "label": "Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Employee Amount", "documentation": "Maximum dollar amount of employer's annual matching contribution to a defined contribution plan" } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r5", "r36", "r216", "r974", "r976", "r979", "r982" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r5", "r218", "r269", "r287", "r304", "r974", "r998", "r999" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate swap", "label": "Derivative Asset", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r195", "r196", "r667", "r689", "r690", "r703", "r710", "r711", "r712", "r861", "r862", "r863", "r864", "r865", "r867", "r868", "r870", "r871", "r872", "r887", "r888", "r930", "r932", "r933", "r934", "r935", "r936", "r959", "r969", "r971", "r972", "r973", "r1084", "r1088", "r1092", "r1119", "r1426", "r1427", "r1428", "r1490" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Contract [Domain]", "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r212", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r870", "r872", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r894", "r895", "r896", "r897", "r906", "r907", "r908", "r909", "r912", "r913", "r914", "r915", "r930", "r931", "r933", "r935", "r969", "r970", "r973", "r1081", "r1082", "r1117", "r1119", "r1229", "r1230", "r1231", "r1232", "r1233", "r1234", "r1235", "r1236", "r1237", "r1418", "r1419", "r1420", "r1421", "r1429", "r1430", "r1431", "r1432", "r1433", "r1434", "r1435", "r1436" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Instrument [Axis]", "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r212", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r870", "r872", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r894", "r895", "r896", "r897", "r906", "r907", "r908", "r909", "r912", "r913", "r914", "r915", "r930", "r931", "r933", "r935", "r969", "r970", "r973", "r1081", "r1082", "r1117", "r1119", "r1229", "r1230", "r1231", "r1232", "r1233", "r1234", "r1235", "r1236", "r1237", "r1418", "r1419", "r1420", "r1421", "r1429", "r1430", "r1431", "r1432", "r1433", "r1434", "r1435", "r1436" ] }, "us-gaap_DerivativesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativesPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Interest Rate Swap Agreement", "label": "Derivatives, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities." } } }, "auth_ref": [ "r227", "r235", "r252", "r638", "r664", "r666", "r668", "r669", "r670", "r672", "r673" ] }, "us-gaap_DilutiveSecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DilutiveSecuritiesAbstract", "presentation": [ "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Potentially dilutive securities:", "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r467", "r468", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r467", "r468", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r1362" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLAN" ], "lang": { "en-us": { "role": { "terseLabel": "STOCK-BASED COMPENSATION PLAN", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r494", "r499", "r531", "r532", "r534", "r1034" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Per Share Prices Related to ESPP", "label": "Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]", "documentation": "Tabular disclosure of share-based payment arrangement." } } }, "auth_ref": [ "r1363" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r1132" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentTransitionReport", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r1164" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentType", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year", "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]" } } }, "auth_ref": [ "r1175" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "(Loss) earnings per common share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in USD per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r175", "r209", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r254", "r256", "r261", "r262", "r263", "r268", "r430", "r535", "r564", "r632", "r686", "r687", "r795", "r819", "r987" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in USD per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r175", "r209", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r256", "r261", "r262", "r263", "r268", "r430", "r535", "r564", "r632", "r686", "r687", "r795", "r819", "r987" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings (Loss) Per Common Share", "label": "Earnings Per Share, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r31", "r32", "r265" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.intest.com/role/EARNINGSLOSSPERSHARE" ], "lang": { "en-us": { "role": { "terseLabel": "EARNINGS (LOSS) PER SHARE", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r253", "r264", "r266", "r267" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Effects of exchange rates on cash", "label": "Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation", "documentation": "Amount of increase (decrease) from effect of exchange rate change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r1439" ] }, "intt_ElectronicTestMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ElectronicTestMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Electronic Test", "label": "Electronic Test [Member]", "documentation": "Related to Electronic Test segment." } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued wages and benefits", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r53" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation expense capitalized", "label": "Share-Based Payment Arrangement, Amount Capitalized", "documentation": "Amount of cost capitalized for award under share-based payment arrangement." } } }, "auth_ref": [ "r530" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation expense", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r533" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation expense, period for recognition", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r533" ] }, "us-gaap_EmployeeSeveranceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeSeveranceMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Severance", "label": "Employee Severance [Member]", "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Options", "label": "Share-Based Payment Arrangement, Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "intt_EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "EmployeeStockPurchasePlanMember", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Purchase Plan", "label": "Employee Stock Purchase Plan [Member]", "documentation": "Represents the employee stock purchase plan." } } }, "auth_ref": [] }, "intt_EmployeeStockPurchasePlanTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20250630", "localname": "EmployeeStockPurchasePlanTextBlock", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLAN" ], "lang": { "en-us": { "role": { "terseLabel": "EMPLOYEE STOCK PURCHASE PLAN", "label": "Employee Stock Purchase Plan [Text Block]", "documentation": "The entire disclosure for employee stock purchase plan." } } }, "auth_ref": [] }, "intt_EndUserMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "EndUserMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "End user", "label": "End User [Member]", "documentation": "Customers who are the end user of the company's products." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line Two", "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r1130" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r1130" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityFileNumber", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityFilerCategory", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r1130" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r1214" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityRegistrantName", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r1130" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityShellCompany", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r1130" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntitySmallBusiness", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r1130" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r1130" ] }, "intt_EnvironmentalTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "EnvironmentalTechnologiesMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Environmental Technologies", "label": "Environmental Technologies [Member]", "documentation": "Related to Environmental Technologies segment." } } }, "auth_ref": [] }, "intt_EnvironmentalTransitionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "EnvironmentalTransitionMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Environmental Transition", "label": "Environmental Transition [Member]", "documentation": "Environmental Transition" } } }, "auth_ref": [] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Footnote", "label": "Equity Awards Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r1169" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table", "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]" } } }, "auth_ref": [ "r1210" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments", "label": "Equity Awards Adjustments [Member]" } } }, "auth_ref": [ "r1210" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table", "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r1210" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquityComponentDomain", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r11", "r173", "r174", "r175", "r204", "r205", "r206", "r237", "r238", "r239", "r241", "r248", "r250", "r252", "r270", "r319", "r320", "r360", "r429", "r454", "r535", "r558", "r559", "r561", "r562", "r563", "r565", "r631", "r632", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r685", "r718", "r720", "r721", "r722", "r723", "r724", "r727", "r729", "r742", "r816", "r843", "r844", "r845", "r858", "r918" ] }, "us-gaap_EquitySecuritiesByIndustryAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquitySecuritiesByIndustryAxis", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Industry Sector [Axis]", "label": "Industry Sector [Axis]", "documentation": "Information by industry sector, examples include but are not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate." } } }, "auth_ref": [ "r863", "r866", "r869", "r924", "r926", "r929", "r938", "r1004", "r1005", "r1084", "r1086", "r1088", "r1119" ] }, "us-gaap_EquitySecuritiesIndustryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquitySecuritiesIndustryMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Industry Sector [Domain]", "label": "Industry Sector [Domain]", "documentation": "Industry sector consisting of government, private and corporate entities engaged in business activities, including but not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate." } } }, "auth_ref": [ "r863", "r866", "r869", "r924", "r926", "r929", "r938", "r1004", "r1005", "r1084", "r1086", "r1088", "r1119" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r1179" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r1137", "r1147", "r1157", "r1189" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r1134", "r1144", "r1154", "r1186" ] }, "intt_ExcessInventoryThreshold": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ExcessInventoryThreshold", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Excess inventory threshold", "label": "Excess Inventory Threshold", "documentation": "Excess Inventory Threshold" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r1185" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r689", "r690", "r703", "r1084" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r689", "r690", "r703", "r1084" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r691", "r692", "r693", "r1037", "r1044", "r1088" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r691", "r692", "r693", "r1037", "r1044", "r1088" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r414", "r475", "r476", "r477", "r478", "r479", "r480", "r487", "r488", "r688", "r690", "r691", "r692", "r693", "r702", "r703", "r705", "r710", "r745", "r746", "r747", "r959", "r1012", "r1013", "r1026", "r1027", "r1028", "r1029", "r1030", "r1084", "r1088", "r1092" ] }, "us-gaap_FairValueByLiabilityClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueByLiabilityClassAxis", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liability Class [Axis]", "label": "Liability Class [Axis]", "documentation": "Information by class of liability." } } }, "auth_ref": [ "r694", "r695", "r696", "r697", "r698", "r699", "r704" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r689", "r690", "r691", "r693", "r1084", "r1427", "r1437" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTS" ], "lang": { "en-us": { "role": { "terseLabel": "FAIR VALUE MEASUREMENTS", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r691", "r698", "r700", "r701", "r702", "r705", "r706", "r707", "r708", "r709", "r791", "r1084", "r1089" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r414", "r475", "r480", "r487", "r690", "r703", "r710", "r745", "r959", "r1026", "r1027", "r1028", "r1029", "r1030", "r1084", "r1092" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r414", "r475", "r480", "r487", "r489", "r690", "r691", "r703", "r710", "r746", "r959", "r1012", "r1013", "r1026", "r1027", "r1028", "r1029", "r1030", "r1084", "r1092" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r414", "r475", "r476", "r477", "r478", "r479", "r480", "r487", "r488", "r690", "r691", "r692", "r693", "r703", "r710", "r747", "r959", "r1012", "r1013", "r1026", "r1027", "r1028", "r1029", "r1030", "r1084", "r1088", "r1092" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities Measured at Fair Value on a Recurring Basis", "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3). Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset." } } }, "auth_ref": [ "r1424", "r1425" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value by Liability Class [Domain]", "label": "Fair Value by Liability Class [Domain]", "documentation": "Represents classes of liabilities measured and disclosed at fair value." } } }, "auth_ref": [ "r694", "r695", "r696", "r697", "r698", "r699", "r704" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in the Fair Value of Level 3 Contingent Consideration Liabilities", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability." } } }, "auth_ref": [ "r694", "r699", "r704" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [ "r689", "r690", "r691", "r693", "r1084", "r1427", "r1437" ] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value of Financial Instruments", "label": "Fair Value Measurement, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in estimated fair value", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3)." } } }, "auth_ref": [ "r695", "r704" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Impact of foreign currency translation adjustments", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Other Comprehensive Income (Loss)", "documentation": "Amount of gain (loss) recognized in other comprehensive income (OCI) from liability measured at fair value on recurring basis using unobservable input (level 3)." } } }, "auth_ref": [ "r696", "r704" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "crdr": "debit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cash payments", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements", "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r697", "r704" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r694", "r704" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r414", "r475", "r476", "r477", "r478", "r479", "r480", "r487", "r488", "r688", "r690", "r691", "r692", "r693", "r702", "r703", "r705", "r710", "r745", "r746", "r747", "r959", "r1012", "r1013", "r1026", "r1027", "r1028", "r1029", "r1030", "r1084", "r1088", "r1092" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r1084", "r1424", "r1425", "r1426", "r1427", "r1428", "r1437" ] }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]", "label": "Financing Receivable, Allowance for Credit Loss [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r128", "r322", "r323", "r324", "r325", "r326", "r327" ] }, "us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock", "presentation": [ "http://www.intest.com/role/ACQUISITIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Intangible Asset, Acquired, Finite-Lived and Indefinite-Lived", "label": "Business Combination, Intangible Asset, Acquired, Finite-Lived and Indefinite-Lived [Table Text Block]", "documentation": "Tabular disclosure of finite-lived and indefinite-lived intangible assets acquired in business combination." } } }, "auth_ref": [ "r1402", "r1404" ] }, "intt_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r185", "r332", "r353", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r355", "r958", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining 2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [ "r1499" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2029", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r355", "r958", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r355", "r958", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r355", "r958", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r346", "r348", "r349", "r350", "r352", "r353", "r357", "r358", "r755", "r756", "r850", "r958", "r962", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076" ] }, "us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impact of foreign currency translation adjustments", "label": "Finite-Lived Intangible Assets, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Carrying Amount", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r332", "r353", "r756", "r962" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r346", "r353", "r357", "r358", "r359", "r755", "r958", "r962", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r346", "r348", "r349", "r350", "r352", "r353", "r357", "r358", "r850", "r958", "r962", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 1.0 }, "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSFutureAmortizationExpenseDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "totalLabel": "Net Carrying Amount", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r755", "r1337" ] }, "us-gaap_FiniteLivedIntangibleAssetsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FiniteLivedIntangibleAssetsRollForward", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Roll Forward]", "label": "Finite-Lived Intangible Assets [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FinitelivedIntangibleAssetsAcquired1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FinitelivedIntangibleAssetsAcquired1", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails": { "parentTag": "intt_IntangibleAssetsAcquired", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-lived intangible assets:", "label": "Finite-Lived Intangible Assets Acquired", "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition." } } }, "auth_ref": [ "r348", "r850" ] }, "intt_FlyingProbeAndIncircuitTestersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "FlyingProbeAndIncircuitTestersMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Flying probe and in-circuit testers", "label": "Flying Probe and In-circuit Testers [Member]", "documentation": "Related to flying probe and in-circuit testers." } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Currency", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy." } } }, "auth_ref": [ "r717" ] }, "intt_ForfeitureOfUnvestedSharesOfRestrictedStockInNoncashInvestingAndFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ForfeitureOfUnvestedSharesOfRestrictedStockInNoncashInvestingAndFinancingActivities", "crdr": "debit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Forfeiture of shares of unvested restricted stock awards", "label": "Forfeiture Of Unvested Shares Of Restricted Stock In Noncash Investing And Financing Activities", "documentation": "Forfeiture Of Unvested Shares Of Restricted Stock In Noncash Investing And Financing Activities" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1193" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1193" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1193" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1193" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1193" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year", "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]" } } }, "auth_ref": [ "r1174" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative expense", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r76", "r902" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative expense", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r76" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesinGoodwillDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "verboseLabel": "Goodwill", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r184", "r333", "r792", "r999", "r1006", "r1037", "r1041", "r1042", "r1079", "r1085", "r1095", "r1319", "r1326", "r1413" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETS" ], "lang": { "en-us": { "role": { "terseLabel": "GOODWILL AND INTANGIBLE ASSETS", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r1317", "r1329" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesinGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impact of foreign currency translation adjustments", "label": "Goodwill, Foreign Currency Translation, Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r340", "r629" ] }, "intt_GoodwillIntangibleAndLongLivedAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20250630", "localname": "GoodwillIntangibleAndLongLivedAssetsPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill, Intangible And Long Lived Assets", "label": "Goodwill Intangible And Long Lived Assets [Policy Text Block]", "documentation": "The policy disclosure of goodwill intangible and long lived assets." } } }, "auth_ref": [] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GoodwillLineItems", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Line Items]", "label": "Goodwill [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r1006" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GoodwillRollForward", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesinGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_GranteeStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GranteeStatusAxis", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Grantee Status [Axis]", "label": "Grantee Status [Axis]", "documentation": "Information by status of recipient to whom award is granted." } } }, "auth_ref": [ "r495", "r497", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "us-gaap_GranteeStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GranteeStatusDomain", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Grantee Status [Domain]", "label": "Grantee Status [Domain]", "documentation": "Status of recipient to whom award is granted." } } }, "auth_ref": [ "r495", "r497", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r72", "r74", "r115", "r227", "r230", "r231", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r713", "r993", "r998", "r1300", "r1307", "r1309", "r1310", "r1311", "r1356" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "(Loss) earnings before income tax (benefit) expense", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r73", "r111", "r115", "r796", "r798", "r814", "r978", "r981", "r984", "r993", "r998", "r1300", "r1307", "r1309", "r1310", "r1311" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statement of Income Location, Balance [Axis]", "label": "Statement of Income Location, Balance [Axis]", "documentation": "Information by location in statement of income where disaggregated amount is reported." } } }, "auth_ref": [ "r361", "r368", "r373", "r640", "r646", "r663", "r665", "r695", "r699", "r704", "r714", "r715", "r716", "r840", "r842", "r903", "r958", "r959", "r1037", "r1042", "r1082", "r1083", "r1087", "r1092", "r1397", "r1399", "r1460" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statement of Income Location, Balance [Domain]", "label": "Statement of Income Location, Balance [Domain]", "documentation": "Location in statement of income where disaggregated amount is reported." } } }, "auth_ref": [ "r368", "r373", "r640", "r646", "r663", "r665", "r695", "r699", "r704", "r714", "r715", "r716", "r840", "r842", "r903", "r958", "r959", "r1037", "r1042", "r1082", "r1083", "r1087", "r1092", "r1397", "r1399", "r1460" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax (benefit) expense", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r118", "r126", "r227", "r251", "r252", "r269", "r290", "r304", "r552", "r553", "r560", "r820", "r978", "r981", "r984", "r1036" ] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements." } } }, "auth_ref": [ "r203", "r548", "r549", "r554", "r555", "r556", "r557", "r854" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic and foreign income taxes", "label": "Income Taxes Paid", "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r27", "r83", "r1286", "r1394", "r1395" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 16.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Trade accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic and foreign income taxes payable", "label": "Increase (Decrease) in Income Taxes Payable", "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Customer deposits and deferred revenue", "label": "Increase (Decrease) in Contract with Customer, Liability", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r752", "r1284" ] }, "intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue, net of current portion", "label": "intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent", "documentation": "Amount of increase (decrease) in noncurrent obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in assets and liabilities:", "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities", "label": "Increase (Decrease) in Operating Lease Liability", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r1219", "r1284" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Other assets", "label": "Increase (Decrease) in Other Noncurrent Assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r1284" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other liabilities", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other current assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unvested shares of restricted stock and employee stock options (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r257", "r258", "r259", "r263", "r498" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-Lived Intangible Assets [Axis]", "label": "Indefinite-Lived Intangible Assets [Axis]", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r346", "r351", "r356", "r962", "r1050", "r1051", "r1052", "r1061", "r1062", "r1076" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIndefinitelivedIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "terseLabel": "Gross Carrying Amount", "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r332", "r356", "r962" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIndefinitelivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impact of foreign currency translation adjustments", "label": "Indefinite-Lived Intangible Assets, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value." } } }, "auth_ref": [ "r1339" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company." } } }, "auth_ref": [ "r346", "r351", "r356", "r962", "r1050", "r1051", "r1052", "r1061", "r1062", "r1076" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefiniteLivedIntangibleAssetsRollForward", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSChangesintheAmountoftheCarryingValueofIndefinitelivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-Lived Intangible Assets [Roll Forward]", "label": "Indefinite-Lived Intangible Assets [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IndefinitelivedIntangibleAssetsAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IndefinitelivedIntangibleAssetsAcquired", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails": { "parentTag": "intt_IntangibleAssetsAcquired", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-lived intangible assets:", "label": "Indefinite-Lived Intangible Assets Acquired", "documentation": "Amount of increase in assets, excluding financial assets and goodwill, lacking physical substance with an indefinite life, from an acquisition." } } }, "auth_ref": [ "r351", "r1339" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1185", "r1193", "r1197", "r1205" ] }, "intt_IndustrialMarketMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "IndustrialMarketMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Industrial", "label": "Industrial Market [Member]", "documentation": "The industrial market into which the reporting entity sells products." } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r1203" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r1133", "r1209" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r1133", "r1209" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r1133", "r1209" ] }, "intt_IntangibleAssetsAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "IntangibleAssetsAcquired", "crdr": "debit", "calculation": { "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total intangible assets", "label": "Intangible Assets Acquired", "documentation": "Intangible Assets Acquired" } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IntangibleAssetsGrossExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Gross Carrying Amount", "label": "Intangible Assets, Gross (Excluding Goodwill)", "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill." } } }, "auth_ref": [ "r184" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 }, "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Intangible assets, net", "totalLabel": "Total intangible assets", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r346", "r1337", "r1339" ] }, "us-gaap_InterestExpenseNonoperating": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestExpenseNonoperating", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Interest expense", "label": "Interest Expense, Nonoperating", "documentation": "Amount of interest expense classified as nonoperating." } } }, "auth_ref": [ "r286", "r978", "r984", "r1241" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Interest", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activity", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r220", "r222", "r223" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestRateSwapMember", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSLiabilitiesMeasuredatFairValueonRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate swap", "label": "Interest Rate Swap [Member]", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r1081", "r1124", "r1125", "r1417" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/INVENTORIES" ], "lang": { "en-us": { "role": { "terseLabel": "INVENTORIES", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r328" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r88", "r966" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 }, "http://www.intest.com/role/INVENTORIESDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Total inventories", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r193", "r964", "r1095" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Inventory, Policy [Policy Text Block]", "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost." } } }, "auth_ref": [ "r119", "r180", "r192", "r328", "r329", "r331", "r753", "r986" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r88", "r968" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work in process", "label": "Inventory, Work in Process, Net of Reserves", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r88", "r967" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Provision for excess and obsolete inventory", "terseLabel": "Excess and obsolete inventory charges", "label": "Inventory Write-down", "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels." } } }, "auth_ref": [ "r330" ] }, "us-gaap_LeaseContractualTermAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeaseContractualTermAxis", "presentation": [ "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Contractual Term [Axis]", "label": "Lease Contractual Term [Axis]", "documentation": "Information by contractual term of lease arrangement." } } }, "auth_ref": [ "r741", "r1218" ] }, "us-gaap_LeaseContractualTermDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeaseContractualTermDomain", "presentation": [ "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Contractual Term [Domain]", "label": "Lease Contractual Term [Domain]", "documentation": "Contractual term of lease arrangement." } } }, "auth_ref": [ "r741", "r1218" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.intest.com/role/LEASESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Costs", "label": "Lease, Cost [Table Text Block]", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r1443" ] }, "us-gaap_LeaseExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeaseExpirationDate1", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Expiration Date", "label": "Lease Expiration Date", "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format." } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r90", "r740" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Table]", "label": "Lessee, Lease, Description [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r733", "r741" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Table]", "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r733", "r741" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Leases [Policy Text Block]", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r732" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.intest.com/role/LEASESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Maturities of Lease Liabilities", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1444" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r739", "r1289", "r1293", "r1455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r739", "r1289", "r1293", "r1455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2029", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r739", "r1289", "r1293", "r1455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r739", "r1289", "r1293", "r1455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r739", "r1289", "r1293", "r1455" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025 (remainder)", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r1444" ] }, "intt_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Lessee, Operating Lease, Liability To Be Paid After Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less imputed interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r739" ] }, "intt_LesseeOperatingLeaseNumberOfLeasePayments": { "xbrltype": "integerItemType", "nsuri": "http://www.intest.com/20250630", "localname": "LesseeOperatingLeaseNumberOfLeasePayments", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of lease payments", "label": "Lessee, Operating Lease, Number Of Lease Payments", "documentation": "Lessee, Operating Lease, Number Of Lease Payments" } } }, "auth_ref": [] }, "intt_LesseeOperatingLeaseSquareFootageLeased": { "xbrltype": "areaItemType", "nsuri": "http://www.intest.com/20250630", "localname": "LesseeOperatingLeaseSquareFootageLeased", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leased premise (in square feet)", "label": "Lessee, Operating Lease, Square Footage Leased", "documentation": "Lessee, Operating Lease, Square Footage Leased" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeaseTermOfContract", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease term", "label": "Lessee, Operating Lease, Term of Contract", "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r1442" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.intest.com/role/LEASES" ], "lang": { "en-us": { "role": { "terseLabel": "LEASES", "label": "Lessee, Operating Leases [Text Block]", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r728" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LetterOfCreditMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails", "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letter of Credit", "label": "Letter of Credit [Member]", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of Credit Amount Outstanding", "label": "Letters of Credit Outstanding, Amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [ "r1113", "r1115" ] }, "intt_LettersOfCreditRenewalPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "LettersOfCreditRenewalPeriod", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit, renewal period", "label": "Letters of Credit, Renewal Period", "documentation": "Letters of Credit, Renewal Period" } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r19", "r52", "r53", "r54", "r57", "r58", "r59", "r60", "r227", "r230", "r231", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r634", "r636", "r637", "r713", "r879", "r992", "r1016", "r1128", "r1356", "r1446", "r1447" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r67", "r110", "r810", "r1095", "r1112", "r1114", "r1288", "r1292", "r1315", "r1438" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r54", "r179", "r227", "r230", "r231", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r634", "r636", "r637", "r713", "r1095", "r1356", "r1446", "r1447" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "intt_LifeSciencesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "LifeSciencesMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Life Sciences", "label": "Life Sciences [Member]", "documentation": "Related to Life Sciences." } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit", "label": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r19", "r108", "r1457" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lender Name [Axis]", "label": "Lender Name [Axis]", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r51", "r56", "r1288", "r1290", "r1353", "r1354" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "L/C Expiration Date", "label": "Line of Credit Facility, Expiration Date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r51", "r56" ] }, "us-gaap_LineOfCreditFacilityExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityExpirationPeriod", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration (less than)", "label": "Line of Credit Facility, Expiration Period", "documentation": "Period remaining on line of credit facility before it terminates, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityInitiationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityInitiationDate1", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Original L/C Issue Date", "label": "Line of Credit Facility, Initiation Date", "documentation": "Date the credit facility first became available, in YYYY-MM-DD format." } } }, "auth_ref": [ "r51", "r56" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility, Lender [Domain]", "label": "Line of Credit Facility, Lender [Domain]", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r51", "r56", "r1288", "r1290", "r1353", "r1354" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit facility", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r51", "r56" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "LocalPhoneNumber", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-Lived Assets by Geographical Area", "label": "Long-Lived Assets by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets." } } }, "auth_ref": [ "r86" ] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails", "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long term debt", "totalLabel": "Total remaining maturities of our Term Note", "label": "Long-Term Debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r19", "r108", "r228", "r236", "r413", "r427", "r800", "r1012", "r1013", "r1093", "r1457" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of long-term debt", "label": "Long-Term Debt, Current Maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r188" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "2026", "label": "Long-Term Debt, Maturity, Year One", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r8", "r228", "r236", "r418", "r800" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "2028", "label": "Long-Term Debt, Maturity, Year Three", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r8", "r228", "r236", "r418", "r800" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "2027", "label": "Long-Term Debt, Maturity, Year Two", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r8", "r228", "r236", "r418", "r800" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/DEBTFutureMaturitiesofLongtermDebtDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "2025 (remainder)", "label": "Long-Term Debt, Maturity, Remainder of Fiscal Year", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year." } } }, "auth_ref": [ "r1289", "r1293" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term debt, net of current portion", "label": "Long-Term Debt, Excluding Current Maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r189" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r19", "r1342", "r1343", "r1344" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Debt, Type [Domain]", "label": "Long-Term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r19", "r40", "r1342", "r1343", "r1344" ] }, "intt_MTBankMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "MTBankMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "M&T Bank", "label": "M&T Bank [Member]", "documentation": "Information related to M&T Bank." } } }, "auth_ref": [] }, "us-gaap_MachineryAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "MachineryAndEquipmentMember", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Machinery and equipment", "label": "Machinery and Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "MajorCustomersAxis", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r311", "r1018", "r1021", "r1105", "r1110", "r1459", "r1461", "r1462", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "intt_MansfieldMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "MansfieldMember", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Mansfield, MA", "label": "Mansfield [Member]", "documentation": "Represents information about Mansfield." } } }, "auth_ref": [] }, "intt_March17th2025Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "March17th2025Member", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "March 17th, 2025", "label": "March 17th, 2025 [Member]", "documentation": "March 17th, 2025" } } }, "auth_ref": [] }, "intt_March6th2024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "March6th2024Member", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "March 6th, 2024", "label": "March 6th, 2024 [Member]", "documentation": "March 6th, 2024" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "MaximumMember", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r130", "r132", "r134", "r135", "r137", "r155", "r157", "r158", "r171", "r172", "r277", "r381", "r382", "r383", "r384", "r493", "r525", "r526", "r527", "r546", "r693", "r751", "r839", "r841", "r849", "r871", "r872", "r923", "r925", "r927", "r928", "r937", "r940", "r941", "r943", "r944", "r956", "r957", "r1003", "r1017", "r1033", "r1037", "r1044", "r1047", "r1088", "r1089", "r1090", "r1091", "r1106", "r1360", "r1448", "r1449", "r1450", "r1451", "r1452", "r1453" ] }, "intt_May8th2023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "May8th2023Member", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "May 8th, 2023", "label": "May 8th, 2023 [Member]", "documentation": "May 8th, 2023" } } }, "auth_ref": [] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r1177" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r1177" ] }, "intt_MinimumAmountRequiredForInvoicesReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "MinimumAmountRequiredForInvoicesReceived", "crdr": "credit", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum amount for invoices received", "label": "Minimum Amount Required For Invoices Received", "documentation": "Minimum amount required for invoices received." } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "MinimumMember", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r130", "r132", "r134", "r135", "r137", "r155", "r157", "r158", "r171", "r172", "r277", "r381", "r382", "r383", "r384", "r493", "r525", "r526", "r527", "r546", "r693", "r751", "r839", "r841", "r849", "r871", "r872", "r923", "r925", "r927", "r928", "r937", "r940", "r941", "r943", "r944", "r956", "r957", "r1003", "r1017", "r1033", "r1037", "r1044", "r1047", "r1088", "r1089", "r1090", "r1106", "r1360", "r1448", "r1449", "r1450", "r1451", "r1452", "r1453" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r1196" ] }, "intt_MtLaurelMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "MtLaurelMember", "presentation": [ "http://www.intest.com/role/DEBTOutstandingLettersofCreditDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Mt. Laurel, NJ", "label": "Mt Laurel [Member]", "documentation": "Represents information about Mt laurel." } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r1204" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r311", "r1018", "r1021", "r1105", "r1110", "r1459", "r1461", "r1462", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r1178" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NatureOfOperations", "presentation": [ "http://www.intest.com/role/NATUREOFOPERATIONS" ], "lang": { "en-us": { "role": { "terseLabel": "NATURE OF OPERATIONS", "label": "Nature of Operations [Text Block]", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r120", "r272", "r989", "r990" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in financing activities", "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit." } } }, "auth_ref": [ "r221" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES", "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets." } } }, "auth_ref": [ "r221" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES", "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) operating activities", "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity." } } }, "auth_ref": [ "r81", "r82", "r84" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES", "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 }, "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net (loss) earnings", "terseLabel": "Net (loss) earnings", "label": "Net Income (Loss) Attributable to Parent", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r75", "r84", "r112", "r175", "r177", "r198", "r201", "r206", "r227", "r230", "r231", "r232", "r240", "r244", "r245", "r246", "r247", "r248", "r251", "r252", "r260", "r318", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r398", "r399", "r430", "r433", "r435", "r439", "r535", "r564", "r632", "r687", "r713", "r815", "r900", "r916", "r917", "r978", "r981", "r984", "r1127", "r1356" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of Recently Adopted and Recently Issued Amendments to Authoritative Accounting Guidance", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r1177" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r1141", "r1151", "r1161", "r1185", "r1193" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r1168" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r1167" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r1185" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r1204" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r1204" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NonUsMember", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Non-US [Member]", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r1495", "r1496", "r1497", "r1498" ] }, "us-gaap_NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed1", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Equity issued in conjunction with acquisition of business", "label": "Noncash or Part Noncash Acquisition, Value of Liabilities Assumed", "documentation": "The total amount of [all] liabilities that an Entity assumes in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r28", "r29", "r30" ] }, "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restricted Stock Awards Activity", "label": "Nonvested Restricted Stock Shares Activity [Table Text Block]", "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares." } } }, "auth_ref": [ "r16" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSDetailsTextual", "http://www.intest.com/role/NATUREOFOPERATIONSDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r999", "r1306" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.intest.com/role/NATUREOFOPERATIONSDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r994", "r1002", "r1306" ] }, "us-gaap_NumberOfReportingUnits": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NumberOfReportingUnits", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSDetailsTextual", "http://www.intest.com/role/NATUREOFOPERATIONSDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reporting units", "label": "Number of Reporting Units", "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment." } } }, "auth_ref": [] }, "intt_ObsoleteInventoryThreshold": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ObsoleteInventoryThreshold", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Obsolete inventory threshold", "label": "Obsolete Inventory Threshold", "documentation": "Obsolete Inventory Threshold" } } }, "auth_ref": [] }, "intt_October2021AgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "October2021AgreementMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "October 2021 Agreement", "label": "October 2021 Agreement [Member]", "documentation": "Information related to the October 2021 Agreement." } } }, "auth_ref": [] }, "intt_OemIntegratorsAndDistributorMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "OemIntegratorsAndDistributorMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "OEM/Integrator", "label": "OEM, Integrators and Distributor [Member]", "documentation": "Represents OEM, Integrators and Distributor" } } }, "auth_ref": [] }, "us-gaap_OneTimeTerminationBenefitsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OneTimeTerminationBenefitsMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual" ], "lang": { "en-us": { "role": { "terseLabel": "Severance and One-time Termination Benefits", "label": "One-time Termination Benefits [Member]", "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities." } } }, "auth_ref": [ "r215", "r975", "r979", "r1007", "r1008", "r1009", "r1010" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [ "r984" ] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating (loss) income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r115", "r978", "r984", "r993", "r1300", "r1307", "r1309", "r1310", "r1311" ] }, "intt_OperatingIncomeLossAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "OperatingIncomeLossAdjusted", "crdr": "credit", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Division operating income (loss)", "label": "Operating Income (Loss), Adjusted", "documentation": "Operating Income (Loss), Adjusted" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease cost", "label": "Operating Lease, Cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r734", "r1094" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/LEASESMaturitiesofLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r731" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of operating lease liabilities", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r731" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, net of current portion", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r731" ] }, "intt_OperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "OperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range of remaining lease terms (in years)", "label": "Range of remaining lease terms (in years) (Year)", "documentation": "The remaining lease term of operating leases." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r730" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "presentation": [ "http://www.intest.com/role/LEASESAmortizationofROUAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of ROU assets", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r1285" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average discount rate", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r738", "r1094" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term (in years)", "label": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r737", "r1094" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r298", "r299", "r300", "r301", "r302", "r305", "r998", "r999" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r186" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r3", "r10", "r104" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized loss on interest rate swap agreement", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r197" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSLOSSUnaudited", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total other comprehensive earnings (loss)", "terseLabel": "Other comprehensive earnings (loss)", "label": "Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r11", "r17", "r199", "r202", "r207", "r248", "r718", "r719", "r724", "r793", "r816", "r1238", "r1239" ] }, "us-gaap_OtherGeneralExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherGeneralExpense", "crdr": "debit", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate expenses", "label": "Other General Expense", "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses." } } }, "auth_ref": [ "r77", "r998" ] }, "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment", "crdr": "debit", "calculation": { "http://www.intest.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory consigned to others", "label": "Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross", "documentation": "Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller." } } }, "auth_ref": [ "r1227" ] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other current liabilities", "label": "Other Liabilities, Current", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r53", "r1095" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r58" ] }, "intt_OtherMultiMarketsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "OtherMultiMarketsMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Multi Markets [Member]", "documentation": "Information related to other multi markets." } } }, "auth_ref": [] }, "intt_OtherNoncashIncomeIncludingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "OtherNoncashIncomeIncludingAdjustments", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other non-cash reconciling items", "label": "Other Noncash Income, Including Adjustments", "documentation": "Other Noncash Income, Including Adjustments" } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other income", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r78", "r1080" ] }, "us-gaap_OtherOperatingIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherOperatingIncomeExpenseNet", "crdr": "credit", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other divisional costs", "label": "Other Operating Income (Expense), Net", "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r1177" ] }, "us-gaap_OtherRestructuringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherRestructuringMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Restructuring [Member]", "documentation": "Restructuring and related activities classified as other." } } }, "auth_ref": [ "r975", "r1007", "r1008", "r1009", "r1010" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r1139", "r1149", "r1159", "r1191" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r1142", "r1152", "r1162", "r1194" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r1142", "r1152", "r1162", "r1194" ] }, "us-gaap_PatentedTechnologyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PatentedTechnologyMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology", "label": "Patented Technology [Member]", "documentation": "Exclusive legal right granted by the government to the owner of the patented technology to exploit the technology for a period of time specified by law." } } }, "auth_ref": [ "r1072", "r1330", "r1331", "r1332", "r1333", "r1335", "r1337", "r1340", "r1341" ] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PatentsMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Patents", "label": "Patents [Member]", "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law." } } }, "auth_ref": [ "r1330", "r1331", "r1332", "r1333", "r1335", "r1337", "r1340", "r1341" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r1166" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "auth_ref": [] }, "intt_PaymentsBasedOnPerformanceMetricsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "PaymentsBasedOnPerformanceMetricsMember", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payments Based on Performance Metrics", "label": "Payments Based on Performance Metrics [Member]", "documentation": "Represents payments based on performance metrics." } } }, "auth_ref": [] }, "us-gaap_PaymentsForRestructuring": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsForRestructuring", "crdr": "credit", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cash payments", "label": "Payments for Restructuring", "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r372", "r1283" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Settlement of employee tax liabilities in connection with treasury stock transaction", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r219" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.intest.com/role/ACQUISITIONNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payments to acquire business", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r23", "r614", "r1037", "r1042", "r1078" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Acquisition of business, net of cash acquired", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r23" ] }, "us-gaap_PaymentsToAcquireProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquireProductiveAssets", "crdr": "credit", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Capital expenditures", "label": "Payments to Acquire Productive Assets", "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r117", "r1414", "r1415", "r1416" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r79" ] }, "intt_PayrollTaxesAndPayrollRelatedMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "PayrollTaxesAndPayrollRelatedMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payroll taxes and payroll related", "label": "Payroll Taxes And Payroll Related [Member]", "documentation": "Payroll Taxes And Payroll Related" } } }, "auth_ref": [] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r1176" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r1176" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/EMPLOYEEBENEFITPLANS" ], "lang": { "en-us": { "role": { "terseLabel": "EMPLOYEE BENEFIT PLANS", "label": "Retirement Benefits [Text Block]", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r472", "r473", "r474", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r490", "r491", "r492", "r1030" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r1168" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r1185" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r1178" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r1167" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PerformanceSharesMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Shares", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "intt_PerformancebasedRestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "PerformancebasedRestrictedStockMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance-Based Restricted Stock", "label": "Performance-Based Restricted Stock [Member]", "documentation": "Represents the performance-based restricted stock." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PlanNameAxis", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PlanNameDomain", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Prior Service Cost", "label": "Pension Adjustments Prior Service Cost [Member]" } } }, "auth_ref": [ "r1169" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Service Cost", "label": "Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r1213" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Benefits Adjustments, Footnote", "label": "Pension Benefits Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r1168" ] }, "us-gaap_PostemploymentBenefitsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PostemploymentBenefitsAbstract", "lang": { "en-us": { "role": { "label": "Postemployment Benefits [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in USD per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r61", "r441" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r61", "r881" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt." } } }, "auth_ref": [ "r61", "r441" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r61", "r881", "r899", "r1493", "r1494" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r61", "r432", "r437", "r806", "r1095" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r1228" ] }, "intt_PresidentOfEnvironmentalTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "PresidentOfEnvironmentalTechnologiesMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "President of Environmental Technologies", "label": "President of Environmental Technologies [Member]", "documentation": "Represents the president of Environmental Technologies." } } }, "auth_ref": [] }, "intt_PresidentOfProcessTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "PresidentOfProcessTechnologiesMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "President of Process Technologies", "label": "President of Process Technologies [Member]", "documentation": "Pertains to President of Environmental Technologies." } } }, "auth_ref": [] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassifications", "label": "Reclassification, Comparability Adjustment [Policy Text Block]", "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r1226" ] }, "intt_ProceedsFromEmployeeStockPurchasePlanShares": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ProceedsFromEmployeeStockPurchasePlanShares", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from shares sold under Employee Stock Purchase Plan", "label": "Proceeds from shares sold under Employee Stock Purchase Plan", "documentation": "The amount of cash inflow from shares sold under employee stock purchase plan." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from debt", "label": "Proceeds from Issuance of Long-Term Debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r24", "r855" ] }, "us-gaap_ProceedsFromShortTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromShortTermDebt", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "(Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings", "label": "Proceeds from Short-Term Debt", "documentation": "The cash inflow from a borrowing having initial term of repayment within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r24" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from stock options exercised", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r2", "r14" ] }, "intt_ProcessTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ProcessTechnologiesMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Process Technologies", "label": "Process Technologies [Member]", "documentation": "Related to process technologies." } } }, "auth_ref": [] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]", "documentation": "Information by product and service, or group of similar products and similar services." } } }, "auth_ref": [ "r139", "r140", "r141", "r142", "r143", "r144", "r170", "r307", "r754", "r832", "r833", "r834", "r835", "r836", "r837", "r838", "r960", "r976", "r981", "r984", "r1018", "r1019", "r1104", "r1106", "r1107", "r1111", "r1116", "r1217", "r1225", "r1242", "r1243", "r1244", "r1245", "r1246", "r1247", "r1248", "r1249", "r1250", "r1251", "r1252", "r1253", "r1254", "r1255", "r1256", "r1257", "r1258", "r1259", "r1260", "r1261", "r1262", "r1263", "r1264", "r1265", "r1266", "r1267", "r1268", "r1269", "r1270", "r1271", "r1272", "r1273", "r1274", "r1275", "r1276", "r1277", "r1278", "r1279", "r1280", "r1281", "r1282", "r1349", "r1350", "r1459", "r1461", "r1462", "r1463", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails": { "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued warranty", "label": "Product Warranty Accrual, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r53", "r1351", "r1352" ] }, "us-gaap_ProductWarrantyObligationTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProductWarrantyObligationTerm", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product warranties", "label": "Product Warranty Obligation, Term", "documentation": "Term of warranty or group of similar warranties, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r385" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]", "documentation": "Product or service, or a group of similar products or similar services." } } }, "auth_ref": [ "r139", "r140", "r141", "r142", "r143", "r144", "r170", "r307", "r754", "r832", "r833", "r834", "r835", "r836", "r837", "r838", "r960", "r976", "r981", "r984", "r1018", "r1019", "r1104", "r1106", "r1107", "r1111", "r1116", "r1217", "r1225", "r1242", "r1243", "r1244", "r1245", "r1246", "r1247", "r1248", "r1249", "r1250", "r1251", "r1252", "r1253", "r1254", "r1255", "r1256", "r1257", "r1258", "r1259", "r1260", "r1261", "r1262", "r1263", "r1264", "r1265", "r1266", "r1267", "r1268", "r1269", "r1270", "r1271", "r1272", "r1273", "r1274", "r1275", "r1276", "r1277", "r1278", "r1279", "r1280", "r1281", "r1282", "r1349", "r1350", "r1459", "r1461", "r1462", "r1463", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r7", "r740" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENT" ], "lang": { "en-us": { "role": { "terseLabel": "PROPERTY AND EQUIPMENT", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r89", "r123", "r124", "r125" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross property and equipment", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r90", "r182", "r813" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r740" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 }, "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails", "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net of accumulated depreciation of $9,513 and $8,830, respectively", "totalLabel": "Net property and equipment", "verboseLabel": "Property and equipment", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r7", "r740", "r801", "r813", "r1095" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r7", "r123", "r124", "r811" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property and Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r90", "r740" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Useful lives", "label": "Property, Plant and Equipment, Useful Life", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSActivityRelatedtoAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Credit loss expense, net of release of unused allowance", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r210", "r213", "r323" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r1166" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r1166" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RangeAxis", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]", "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r130", "r132", "r134", "r135", "r137", "r155", "r157", "r158", "r171", "r172", "r277", "r381", "r382", "r383", "r384", "r473", "r493", "r525", "r526", "r527", "r534", "r546", "r693", "r748", "r749", "r751", "r839", "r841", "r849", "r871", "r872", "r923", "r925", "r927", "r928", "r937", "r940", "r941", "r943", "r944", "r956", "r957", "r1003", "r1017", "r1033", "r1037", "r1044", "r1047", "r1088", "r1089", "r1090", "r1091", "r1106", "r1119", "r1345", "r1360", "r1427", "r1449", "r1450", "r1451", "r1452", "r1453" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RangeMember", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails", "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r130", "r132", "r134", "r135", "r137", "r155", "r157", "r158", "r171", "r172", "r277", "r381", "r382", "r383", "r384", "r473", "r493", "r525", "r526", "r527", "r534", "r546", "r693", "r748", "r749", "r751", "r839", "r841", "r849", "r871", "r872", "r923", "r925", "r927", "r928", "r937", "r940", "r941", "r943", "r944", "r956", "r957", "r1003", "r1017", "r1033", "r1037", "r1044", "r1047", "r1088", "r1089", "r1090", "r1091", "r1106", "r1119", "r1345", "r1360", "r1427", "r1449", "r1450", "r1451", "r1452", "r1453" ] }, "us-gaap_ReceivablesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ReceivablesPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Trade Accounts Receivable and Allowance for Credit Losses", "label": "Receivable [Policy Text Block]", "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable." } } }, "auth_ref": [ "r313", "r314", "r315", "r317", "r1314" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r1134", "r1144", "r1154", "r1186" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Repayments of long-term debt", "label": "Repayments of Long-Term Debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r80", "r856" ] }, "us-gaap_RepaymentsOfShortTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RepaymentsOfShortTermDebt", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "(Repayments of short-term borrowings, net of proceeds) proceeds from short-term borrowings", "label": "Repayments of Short-Term Debt", "documentation": "The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r80" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Domain]", "label": "Counterparty Name [Domain]", "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution." } } }, "auth_ref": [ "r168", "r169", "r227", "r233", "r234", "r404", "r443", "r743", "r750", "r802", "r970", "r972", "r973", "r1229", "r1230", "r1231", "r1232", "r1233", "r1234", "r1235", "r1236", "r1237", "r1418", "r1419", "r1420", "r1421" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Engineering and product development expense", "label": "Research and Development Expense", "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity." } } }, "auth_ref": [ "r547", "r958", "r978", "r979", "r998", "r1454" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Engineering and product development expense", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r1135", "r1145", "r1155", "r1187" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r1136", "r1146", "r1156", "r1188" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r1143", "r1153", "r1163", "r1195" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestrictedStockMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock", "label": "Restricted Stock [Member]", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r1299", "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock Units (RSUs)", "label": "Restricted Stock Units (RSUs) [Member]", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedActivitiesAbstract", "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/RESTRUCTURING" ], "lang": { "en-us": { "role": { "terseLabel": "RESTRUCTURING", "label": "Restructuring and Related Activities Disclosure [Text Block]", "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled." } } }, "auth_ref": [ "r369", "r370", "r372", "r375", "r380" ] }, "us-gaap_RestructuringAndRelatedCostExpectedCost1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedCostExpectedCost1", "crdr": "debit", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual" ], "lang": { "en-us": { "role": { "terseLabel": "Expected costs", "label": "Restructuring and Related Cost, Expected Cost", "documentation": "Amount expected to be recognized in earnings for the specified restructuring cost." } } }, "auth_ref": [ "r371", "r374", "r377", "r379" ] }, "us-gaap_RestructuringCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCharges", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring costs", "label": "Restructuring Charges", "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r5", "r211", "r215", "r376", "r377", "r979", "r1346" ] }, "us-gaap_RestructuringCostAndReserveAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCostAndReserveAxis", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Type [Axis]", "label": "Restructuring Type [Axis]", "documentation": "Information by type of restructuring cost." } } }, "auth_ref": [ "r211", "r215", "r371", "r372", "r377", "r378", "r979" ] }, "us-gaap_RestructuringCostAndReserveLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCostAndReserveLineItems", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Cost and Reserve [Line Items]", "label": "Restructuring Cost and Reserve [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r371", "r372", "r373", "r374", "r377", "r378", "r379" ] }, "us-gaap_RestructuringPlanAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringPlanAxis", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Plan [Axis]", "label": "Restructuring Plan [Axis]", "documentation": "Information by individual restructuring plan." } } }, "auth_ref": [] }, "us-gaap_RestructuringPlanDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringPlanDomain", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Plan [Domain]", "label": "Restructuring Plan [Domain]", "documentation": "Identification of the individual restructuring plans." } } }, "auth_ref": [] }, "us-gaap_RestructuringReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringReserve", "crdr": "credit", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Restructuring Reserve", "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan." } } }, "auth_ref": [ "r372", "r378" ] }, "us-gaap_RestructuringReserveRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringReserveRollForward", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Reserve [Roll Forward]", "label": "Restructuring Reserve [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_RestructuringReserveTranslationAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringReserveTranslationAdjustment", "crdr": "credit", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringAccrualDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Impact of foreign currency translation adjustments", "label": "Restructuring Reserve, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the restructuring reserve." } } }, "auth_ref": [ "r1347", "r1348" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r64", "r98", "r809", "r846", "r848", "r857", "r882", "r1095" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RetainedEarningsMember", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r173", "r174", "r175", "r237", "r238", "r239", "r241", "r248", "r250", "r252", "r319", "r320", "r360", "r429", "r535", "r558", "r559", "r561", "r562", "r563", "r565", "r631", "r632", "r674", "r676", "r677", "r679", "r685", "r727", "r729", "r843", "r845", "r858", "r1493" ] }, "intt_RetentionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "RetentionMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retention", "label": "Retention [Member]", "documentation": "Retention" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "verboseLabel": "Revenue", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r113", "r114", "r269", "r283", "r284", "r298", "r304", "r307", "r309", "r311", "r466", "r467", "r468", "r754" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERS" ], "lang": { "en-us": { "role": { "terseLabel": "REVENUE FROM CONTRACTS WITH CUSTOMERS", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r127", "r457", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r468", "r471" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue by Geographic Location", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r85" ] }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRecognitionPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Recognition", "label": "Revenue [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources." } } }, "auth_ref": [ "r901" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.intest.com/role/LEASESAmortizationofROUAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "ROU assets obtained in exchange for operating lease obligations", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r736", "r1094" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r1204" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r1204" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Benchmark", "label": "Revenue Benchmark [Member]", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r311", "r1302", "r1303" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.intest.com/role/ACCRUEDEXPENSESANDOTHERCURRENTLIABILITIESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued Expenses and Other Current Liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable", "presentation": [ "http://www.intest.com/role/FAIRVALUEMEASUREMENTSChangesintheFairValueofLevel3ContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Contingent Consideration [Table]", "label": "Business Combination, Contingent Consideration [Table]", "documentation": "Disclosure of information about contingent consideration arrangement in business combination." } } }, "auth_ref": [ "r618", "r619", "r620", "r621", "r625", "r627", "r628" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.intest.com/role/ACQUISITIONAcquiredassetsandLiabilitiesAssumedDetails", "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/ACQUISITIONNarrativeDetails", "http://www.intest.com/role/ACQUISITIONProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Table]", "label": "Business Combination [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r345", "r569", "r570", "r571", "r572", "r578", "r579", "r580", "r581", "r587", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r605", "r606", "r607", "r608", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r623", "r624", "r625", "r629", "r1037", "r1047", "r1398", "r1401", "r1403" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.intest.com/role/EARNINGSLOSSPERSHARETables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r1298" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Compensation Expense", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r47" ] }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "documentation": "Disclosure of information about allowance for credit loss on financing receivable." } } }, "auth_ref": [ "r128", "r322", "r323", "r324", "r325", "r326", "r327" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible Asset, Finite-Lived [Table]", "label": "Intangible Asset, Finite-Lived [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r346", "r353", "r357", "r358", "r359", "r755", "r958", "r962", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r962", "r1336" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Table]", "label": "Goodwill [Table]", "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason." } } }, "auth_ref": [ "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r1006" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r1006", "r1318", "r1319", "r1320", "r1321", "r1322", "r1323", "r1324", "r1325", "r1326", "r1327", "r1328" ] }, "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Indefinite-Lived Intangible Assets", "label": "Schedule of Indefinite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity, by either major class or business segment." } } }, "auth_ref": [ "r962", "r1339" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.intest.com/role/INVENTORIESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventory", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r6", "r68", "r69", "r70" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.intest.com/role/DEBTTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Maturities of Long-Term Debt", "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r8" ] }, "intt_ScheduleOfOutstandingLettersOfCreditTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ScheduleOfOutstandingLettersOfCreditTableTextBlock", "presentation": [ "http://www.intest.com/role/DEBTTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Outstanding Letters Of Credit", "label": "Schedule Of Outstanding Letters Of Credit [Table Text Block]", "documentation": "Schedule of outstanding letters of credit table text block." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.intest.com/role/PROPERTYANDEQUIPMENTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r7", "r740" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.intest.com/role/ACQUISITIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination, Recognized Asset Acquired and Liability Assumed", "label": "Business Combination, Recognized Asset Acquired and Liability Assumed [Table Text Block]", "documentation": "Tabular disclosure of asset acquired and liability assumed in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1402", "r1404" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Cost [Table]", "label": "Restructuring Cost [Table]", "documentation": "Disclosure of information about restructuring cost. Includes, but is not limited to, expected cost, cost incurred, statement of income caption that includes restructuring cost recognized, and amount of restructuring reserve." } } }, "auth_ref": [ "r371", "r372", "r373", "r374", "r377", "r378", "r379" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring Expenses and Accrual", "label": "Restructuring and Related Costs [Table Text Block]", "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets." } } }, "auth_ref": [ "r38", "r91", "r92" ] }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring Reserve by Type of Cost", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period." } } }, "auth_ref": [ "r39", "r93" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r33", "r34", "r35" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r33", "r34", "r35" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r495", "r497", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r523", "r524", "r525", "r526", "r527", "r528", "r534" ] }, "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of ESPP Activity", "label": "Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]", "documentation": "Tabular disclosure of employee stock purchase plan activity." } } }, "auth_ref": [ "r46", "r1392" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock Option Activity", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r12", "r13", "r99" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock Options Valuations Assumptions", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions." } } }, "auth_ref": [ "r103" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r962", "r1338" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "Security12bTitle", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r1129" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "SecurityExchangeName", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r1131" ] }, "intt_SecurityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "SecurityMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Safety/Security", "label": "Security [Member]", "documentation": "Related to security." } } }, "auth_ref": [] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentDomain", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r113", "r114", "r115", "r116", "r269", "r279", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r304", "r305", "r306", "r311", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r359", "r374", "r379", "r622", "r625", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830", "r831", "r995", "r998", "r999", "r1006", "r1109", "r1459", "r1461", "r1462", "r1463", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]", "documentation": "Geographical area." } } }, "auth_ref": [ "r131", "r133", "r136", "r138", "r145", "r146", "r147", "r148", "r150", "r151", "r152", "r153", "r154", "r156", "r157", "r158", "r274", "r309", "r310", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r796", "r797", "r798", "r799", "r863", "r866", "r868", "r924", "r926", "r929", "r938", "r940", "r942", "r943", "r944", "r946", "r947", "r948", "r949", "r951", "r952", "r953", "r954", "r955", "r961", "r988", "r1018", "r1020", "r1096", "r1097", "r1098", "r1099", "r1100", "r1101", "r1102", "r1103", "r1108", "r1119", "r1459", "r1461", "r1462", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATION" ], "lang": { "en-us": { "role": { "terseLabel": "SEGMENT INFORMATION", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r116", "r269", "r278", "r279", "r280", "r281", "r282", "r294", "r296", "r297", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r311", "r994", "r996", "r997", "r998", "r1000", "r1001", "r1002" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling expense", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r76" ] }, "us-gaap_SellingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SellingExpense", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Selling expense", "label": "Selling Expense", "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services." } } }, "auth_ref": [ "r76", "r214", "r977", "r980", "r983" ] }, "intt_SemiAnnualLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "SemiAnnualLeasePayments", "crdr": "credit", "presentation": [ "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Semi-annual lease payments", "label": "Semi-Annual Lease Payments", "documentation": "Semi-Annual Lease Payments" } } }, "auth_ref": [] }, "intt_SemiconductorMarketMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "SemiconductorMarketMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Semi", "label": "Semiconductor Market [Member]", "documentation": "The semiconductor market into which the reporting entity sells products." } } }, "auth_ref": [] }, "intt_SemiconductorProductionTestProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "SemiconductorProductionTestProductsMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Semiconductor test", "label": "Semiconductor Production Test Products [Member]", "documentation": "Represents information about semiconductor production test products sold by the reporting entity." } } }, "auth_ref": [] }, "intt_SeniorManagementMemberMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "SeniorManagementMemberMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Senior Management Member", "label": "Senior Management Member [Member]", "documentation": "Senior Management Member" } } }, "auth_ref": [] }, "intt_ServiceAndOtherProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ServiceAndOtherProductsMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Service/other", "label": "Service and Other Products [Member]", "documentation": "Represents information about services and other products sold by the reporting entity." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of deferred compensation related to stock-based awards", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r1034" ] }, "intt_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRightsQuarterlyPercentage": { "xbrltype": "pureItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRightsQuarterlyPercentage", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Quarterly vesting percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Quarterly Percentage", "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Quarterly Percentage" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual" ], "lang": { "en-us": { "role": { "terseLabel": "Employee stock purchase plan discount", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date", "documentation": "Discount rate from fair value on purchase date that participants pay for shares." } } }, "auth_ref": [ "r45" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in shares)", "negatedLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r517" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r517" ] }, "intt_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted, fair value", "label": "Share-based Compensation Arrangement By Share-based Payment Award Equity Instruments Other Than Options Granted Fair Value", "documentation": "Fair value of awards other than options granted during the period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "verboseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r515" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r515" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unvested shares outstanding (in shares)", "periodStartLabel": "Unvested shares outstanding, beginning balance (in shares)", "periodEndLabel": "Unvested shares outstanding, ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r512", "r513" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Unvested shares outstanding, beginning balance (in dollars per share)", "periodEndLabel": "Unvested shares outstanding, ending balance (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r512", "r513" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Vested (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r516" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r516" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividend yield", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term." } } }, "auth_ref": [ "r526" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected common stock market price volatility factor", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period." } } }, "auth_ref": [ "r525" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk-free interest rate", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r527" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANSummaryofCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r495", "r497", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r523", "r524", "r525", "r526", "r527", "r528", "r534" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANDetailsTextual", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares available for issuance (in shares) (up to)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r1035" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares available for grant and issuance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r45" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate intrinsic value of options exercised", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r519" ] }, "intt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpectedToVestIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpectedToVestIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate intrinsic value, expected to vest", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Intrinsic Value", "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Intrinsic Value" } } }, "auth_ref": [] }, "intt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpectedToVestNumber": { "xbrltype": "sharesItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpectedToVestNumber", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected to vest (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Number", "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Vest, Number" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "documentation": "Weighted average price of options that were either forfeited or expired." } } }, "auth_ref": [ "r1370" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "documentation": "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." } } }, "auth_ref": [ "r510" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r508" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, beginning balance (in shares)", "periodEndLabel": "Options outstanding, ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r504", "r505" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, weighted average exercise price, beginning balance (in dollars per share)", "periodEndLabel": "Options outstanding, weighted average exercise price, ending balance (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r504", "r505" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercisable (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r521" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate intrinsic value, outstanding", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r520" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercised (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r509" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Granted (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r508" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Tranche One", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationAwardTrancheTwoMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Payment Arrangement, Tranche Two", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-Based Compensation", "label": "Share-Based Payment Arrangement [Policy Text Block]", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r494", "r503", "r522", "r523", "r524", "r525", "r528", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r544" ] }, "us-gaap_ShareBasedPaymentArrangementEmployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedPaymentArrangementEmployeeMember", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employees", "label": "Share-Based Payment Arrangement, Employee [Member]", "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires." } } }, "auth_ref": [ "r497", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedPaymentArrangementNonemployeeMember", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Independent directors", "label": "Share-Based Payment Arrangement, Nonemployee [Member]", "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires." } } }, "auth_ref": [ "r495", "r500", "r501", "r502", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r524", "r525", "r526", "r527", "r528" ] }, "intt_ShareBasedPaymentArrangementOptionExercisePriceRangeExpectedToVestWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedPaymentArrangementOptionExercisePriceRangeExpectedToVestWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected to vest (in dollars per share)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Exercise Price", "documentation": "Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Exercise Price" } } }, "auth_ref": [] }, "intt_ShareBasedPaymentArrangementOptionExercisePriceRangeExpectedToVestWeightedAverageRemainingContractualTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ShareBasedPaymentArrangementOptionExercisePriceRangeExpectedToVestWeightedAverageRemainingContractualTerm", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual term, expected to vest", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Remaining Contractual Term", "documentation": "Share-Based Payment Arrangement, Option, Exercise Price Range, Expected to Vest, Weighted Average Remaining Contractual Term" } } }, "auth_ref": [] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharePrice", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Closing market price per share (in dollars per share)", "label": "Share Price", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails", "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting rights percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r1364" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANScheduleofRestrictedStockAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate market value of RSA\u2019s vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested", "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r1390" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionsValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average expected life of stock options (years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term", "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r524" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate intrinsic value, exercisable", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r45" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average grant date fair value per option (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value", "documentation": "Weighted average grant-date fair value of options vested." } } }, "auth_ref": [ "r1391" ] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercisable (in dollars per share)", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price", "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding." } } }, "auth_ref": [ "r100" ] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual term, exercisable", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term of exercisable stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r102" ] }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual term, outstanding", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r101" ] }, "us-gaap_SharesIssuedPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharesIssuedPricePerShare", "presentation": [ "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANPerSharePricesRelatedtoESPPDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price per share (in dollars per share)", "label": "Shares Issued, Price Per Share", "documentation": "Per share or per unit amount of equity securities issued." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r1391" ] }, "us-gaap_ShortTermBorrowings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShortTermBorrowings", "crdr": "credit", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short term debt", "label": "Short-Term Debt", "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r50", "r107", "r1095", "r1456" ] }, "us-gaap_ShortTermDebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShortTermDebtWeightedAverageInterestRate", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term variable financing rate", "label": "Short-Term Debt, Weighted Average Interest Rate, at Point in Time", "documentation": "Weighted average interest rate of short-term debt outstanding calculated at point in time." } } }, "auth_ref": [ "r51", "r388" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShortTermLeaseCost", "crdr": "debit", "presentation": [ "http://www.intest.com/role/LEASESLeaseCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term lease cost", "label": "Short-Term Lease, Cost", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r735", "r1094" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIES" ], "lang": { "en-us": { "role": { "terseLabel": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r225", "r226" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSScheduleofGoodwillDetails", "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails", "http://www.intest.com/role/SEGMENTINFORMATIONSegmentReportingInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r113", "r114", "r115", "r116", "r176", "r269", "r279", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r304", "r305", "r306", "r311", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r359", "r362", "r374", "r379", "r622", "r625", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830", "r831", "r995", "r998", "r999", "r1006", "r1109", "r1459", "r1461", "r1462", "r1463", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r11", "r62", "r65", "r66", "r173", "r174", "r175", "r204", "r205", "r206", "r237", "r238", "r239", "r241", "r248", "r250", "r252", "r270", "r319", "r320", "r360", "r429", "r454", "r535", "r558", "r559", "r561", "r562", "r563", "r565", "r631", "r632", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r685", "r718", "r720", "r721", "r722", "r723", "r724", "r727", "r729", "r742", "r816", "r843", "r844", "r845", "r858", "r918" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]", "documentation": "Information by geographical components." } } }, "auth_ref": [ "r131", "r133", "r136", "r138", "r145", "r146", "r147", "r148", "r150", "r151", "r152", "r153", "r154", "r156", "r157", "r158", "r274", "r309", "r310", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r796", "r797", "r798", "r799", "r863", "r866", "r868", "r924", "r926", "r929", "r938", "r940", "r942", "r943", "r944", "r946", "r947", "r948", "r949", "r951", "r952", "r953", "r954", "r955", "r961", "r988", "r1018", "r1020", "r1096", "r1097", "r1098", "r1099", "r1100", "r1101", "r1102", "r1103", "r1108", "r1119", "r1459", "r1461", "r1462", "r1464", "r1465", "r1466", "r1467", "r1468", "r1469", "r1470", "r1471", "r1472", "r1473", "r1474", "r1475", "r1476", "r1477", "r1478", "r1479", "r1480", "r1481", "r1482", "r1483", "r1484", "r1485", "r1486", "r1487", "r1488" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementLineItems", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r237", "r238", "r239", "r270", "r431", "r432", "r434", "r436", "r729", "r754", "r853", "r859", "r860", "r873", "r874", "r875", "r876", "r877", "r878", "r881", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r894", "r895", "r896", "r897", "r898", "r901", "r902", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r918", "r981", "r984", "r1120", "r1492" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementTable", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Presentation of information about comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r237", "r238", "r239", "r270", "r312", "r431", "r432", "r434", "r436", "r729", "r754", "r853", "r859", "r860", "r873", "r874", "r875", "r876", "r877", "r878", "r881", "r884", "r885", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r894", "r895", "r896", "r897", "r898", "r901", "r902", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r918", "r981", "r984", "r1120", "r1492" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r1138", "r1148", "r1158", "r1190" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_StockIssued1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssued1", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Issuance of unvested shares of restricted stock awards", "label": "Stock Issued", "documentation": "The fair value of stock issued in noncash financing activities." } } }, "auth_ref": [ "r28", "r29", "r30" ] }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesAcquisitions", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of shares in connection with acquisition of Alfamation (in shares)", "label": "Stock Issued During Period, Shares, Acquisitions", "documentation": "Number of shares of stock issued during the period pursuant to acquisitions." } } }, "auth_ref": [ "r61", "r62", "r98" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares issued under Employee Stock Purchase Plan (in shares)", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r11", "r61", "r62", "r98" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Forfeiture of unvested shares of restricted stock (in shares)", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Forfeited", "documentation": "Number of shares related to Restricted Stock Award forfeited during the period." } } }, "auth_ref": [ "r11", "r61", "r62", "r98" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of unvested shares of restricted stock (in shares)", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r11", "r98" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited", "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options exercised (in shares)", "negatedLabel": "Exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r11", "r61", "r62", "r98", "r509" ] }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodValueAcquisitions", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of shares in connection with acquisition of Alfamation", "label": "Stock Issued During Period, Value, Acquisitions", "documentation": "Value of stock issued pursuant to acquisitions during the period." } } }, "auth_ref": [ "r11", "r62", "r65", "r66", "r98" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited", "http://www.intest.com/role/EMPLOYEESTOCKPURCHASEPLANScheduleofESPPActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total cost of shares", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r11", "r61", "r62", "r98" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of unvested shares of restricted stock", "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r11", "r61", "r62", "r98" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options exercised", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r11", "r62", "r65", "r66", "r98" ] }, "srt_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.intest.com/role/EQUITYDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share repurchase program, authorized amount", "label": "Share Repurchase Program, Authorized, Amount", "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [ "r1361" ] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.intest.com/role/EQUITYDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share repurchase program, remaining authorized amount", "label": "Share Repurchase Program, Remaining Authorized, Amount", "documentation": "Amount remaining authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning Balance", "periodEndLabel": "Ending Balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r62", "r65", "r66", "r87", "r883", "r899", "r919", "r920", "r1095", "r1128", "r1288", "r1291", "r1292", "r1315", "r1438", "r1493" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.intest.com/role/EQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "EQUITY", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r95", "r440", "r442", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r671", "r684", "r921", "r922", "r939" ] }, "us-gaap_SubsequentEventsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SubsequentEventsPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Events", "label": "Subsequent Events, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for reporting subsequent events." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash payments for:", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r1184" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r1071", "r1330", "r1331", "r1332", "r1333", "r1335", "r1337", "r1340", "r1341" ] }, "intt_TermNoteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "TermNoteMember", "presentation": [ "http://www.intest.com/role/DEBTNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term Note", "label": "Term Note [Member]", "documentation": "Information related to Term Note." } } }, "auth_ref": [] }, "intt_The2023StockIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "The2023StockIncentivePlanMember", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The 2023 Stock Incentive Plan", "label": "The 2023 Stock Incentive Plan [Member]", "documentation": "Represents the 2023 Stock Incentive Plan." } } }, "auth_ref": [] }, "intt_ThermalProcessMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ThermalProcessMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thermal process", "label": "Thermal Process [Member]", "documentation": "Represents thermal process." } } }, "auth_ref": [] }, "intt_ThermalTestingProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "ThermalTestingProductsMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thermal test", "label": "Thermal Testing Products [Member]", "documentation": "Represents information about Thermal products sold by the reporting entity." } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title and Position [Axis]", "label": "Title and Position [Axis]", "documentation": "Information by title and position of individual or group within organization." } } }, "auth_ref": [ "r1312", "r1445" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title and Position [Domain]", "label": "Title and Position [Domain]", "documentation": "Title and position of individual or group within organization." } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r1176" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r1183" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TradeNamesMember", "presentation": [ "http://www.intest.com/role/ACQUISITIONIntangibleAssetsDetails", "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade name", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r1051", "r1330", "r1331", "r1332", "r1333", "r1334", "r1335", "r1337", "r1339", "r1340", "r1341" ] }, "us-gaap_TrademarksMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TrademarksMember", "presentation": [ "http://www.intest.com/role/GOODWILLANDINTANGIBLEASSETSIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trademarks", "label": "Trademarks [Member]", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style." } } }, "auth_ref": [ "r962", "r1051", "r1330", "r1331", "r1332", "r1333", "r1334", "r1335", "r1337", "r1339", "r1340", "r1341" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r1203" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r1205" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "TradingSymbol", "presentation": [ "http://www.intest.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r1206" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r1207" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration Date", "label": "Trading Arrangement Expiration Date" } } }, "auth_ref": [ "r1207" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r1205" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r1205" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r1208" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r1206" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Treasury Stock", "label": "Treasury Stock, Common [Member]", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r43" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Treasury stock, at cost (in shares)", "periodStartLabel": "Treasury Stock, Beginning Balance (in shares)", "periodEndLabel": "Treasury Stock, Ending Balance (in shares)", "label": "Treasury Stock, Common, Shares", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r43" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "negatedLabel": "Treasury stock, at cost; 82,077 and 79,382 shares, respectively", "label": "Treasury Stock, Common, Value", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r43", "r44", "r65" ] }, "us-gaap_TypeOfRestructuringDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TypeOfRestructuringDomain", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGDetailsTextual" ], "lang": { "en-us": { "role": { "terseLabel": "Type of Restructuring [Domain]", "label": "Type of Restructuring [Domain]", "documentation": "Identification of the types of restructuring costs." } } }, "auth_ref": [ "r211", "r215", "r371", "r372", "r377", "r378", "r979" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2025", "localname": "US", "presentation": [ "http://www.intest.com/role/SEGMENTINFORMATIONLonglivedAssetsbyGeographicalAreaDetails", "http://www.intest.com/role/SEGMENTINFORMATIONNetRevenueFromUnaffiliatedCustomersDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S.", "label": "UNITED STATES" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r1202" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "UseOfEstimates", "presentation": [ "http://www.intest.com/role/SUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r121", "r122", "r271", "r275", "r276", "r277", "r796", "r798", "r991" ] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "VestingAxis", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Axis]", "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "VestingDomain", "presentation": [ "http://www.intest.com/role/STOCKBASEDCOMPENSATIONPLANNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting [Domain]", "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r1364", "r1365", "r1366", "r1367", "r1368", "r1369", "r1370", "r1371", "r1372", "r1373", "r1374", "r1375", "r1376", "r1377", "r1378", "r1379", "r1380", "r1381", "r1382", "r1383", "r1384", "r1385", "r1386", "r1387", "r1388", "r1389" ] }, "intt_VideoImagingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "VideoImagingMember", "presentation": [ "http://www.intest.com/role/REVENUEFROMCONTRACTSWITHCUSTOMERSDisaggregationofRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Video imaging", "label": "Video Imaging [Member]", "documentation": "Related to video imaging." } } }, "auth_ref": [] }, "intt_VideologyConsolidationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "VideologyConsolidationMember", "presentation": [ "http://www.intest.com/role/RESTRUCTURINGScheduleofRestructuringExpensesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Videology Consolidation", "label": "Videology Consolidation [Member]", "documentation": "Videology Consolidation" } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year", "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]" } } }, "auth_ref": [ "r1172" ] }, "intt_WarehouseAndOfficeSpaceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20250630", "localname": "WarehouseAndOfficeSpaceMember", "presentation": [ "http://www.intest.com/role/LEASESNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Warehouse and Office Space", "label": "Warehouse and Office Space [Member]", "documentation": "Relating to Warehouse and Office space." } } }, "auth_ref": [] }, "intt_WeightedAverageCommonSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20250630", "localname": "WeightedAverageCommonSharesOutstandingAbstract", "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common shares outstanding:", "label": "Weighted Average Common Shares Outstanding [Abstract]", "documentation": "Weighted Average Common Shares Outstanding" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r255", "r263" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited", "http://www.intest.com/role/EARNINGSLOSSPERSHAREDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Basic (in shares)", "terseLabel": "Weighted average common shares outstanding - basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r254", "r263" ] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested", "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r1170" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "70", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-4" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Subparagraph": "(c)", "Paragraph": "2", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "SubTopic": "10", "Topic": "420", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/360/tableOfContent" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "c", "Publisher": "SEC" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "04", "Paragraph": "a", "Publisher": "SEC" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column C", "Footnote": "5", "Publisher": "SEC" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column C", "Footnote": "4", "Publisher": "SEC" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(a)", "Footnote": "4", "Publisher": "SEC" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(b)", "Footnote": "4", "Publisher": "SEC" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column C", "Footnote": "2", "Publisher": "SEC" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column F", "Footnote": "7", "Publisher": "SEC" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column A", "Publisher": "SEC" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column B", "Publisher": "SEC" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column C", "Publisher": "SEC" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column D", "Publisher": "SEC" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column E", "Publisher": "SEC" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "17", "Paragraph": "Column F", "Publisher": "SEC" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column B", "Publisher": "SEC" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column C", "Publisher": "SEC" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column D", "Publisher": "SEC" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Footnote": "4", "Publisher": "SEC" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Publisher": "SEC" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column F", "Publisher": "SEC" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column G", "Publisher": "SEC" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column H", "Publisher": "SEC" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column I", "Publisher": "SEC" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column A", "Footnote": "3", "Publisher": "SEC" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column A", "Footnote": "4", "Publisher": "SEC" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column B", "Publisher": "SEC" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column C", "Publisher": "SEC" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(C)", "Publisher": "SEC" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "4", "Subsection": "08", "Paragraph": "m", "Subparagraph": "(1)(iii)", "Publisher": "SEC" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "4", "Subsection": "08", "Paragraph": "m", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 11", "Section": "L", "Publisher": "SEC" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 4", "Publisher": "SEC" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-35" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(n))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-2" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-6" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/330/tableOfContent" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-2" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-4" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/420/tableOfContent" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-7" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-3" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-3" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3A", "Subparagraph": "(24)(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-11" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/715/tableOfContent" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "17", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479983/718-10-S45-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479953/718-10-S50-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479953/718-10-S50-3" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479953/718-10-S50-4" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479953/718-10-S50-5" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-10/tableOfContent" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-4" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-5" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-20/tableOfContent" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-3" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-30/tableOfContent" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-3" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479326/805-40-45-1" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2AG", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-2AG" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/815/tableOfContent" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CC", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8A" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8C" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479693/815-10-S50-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-30" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-32" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482804/825-20-50-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/830/tableOfContent" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/842-20/tableOfContent" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r740": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481435/852-10-45-14" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-9" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r752": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r758": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r760": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r761": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r762": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-20" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-20" }, "r764": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r765": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r766": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r767": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r768": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r769": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r770": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-28" }, "r771": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-28" }, "r772": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r773": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r774": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r775": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r776": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r777": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r778": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r779": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r780": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r781": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r782": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r783": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r784": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r785": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r786": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r787": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r788": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r789": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r790": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r791": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "940", "SubTopic": "820", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1" }, "r792": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r793": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r794": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r795": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r796": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478671/942-235-S50-1" }, "r797": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r798": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r799": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r800": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2" }, "r801": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r802": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r803": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r804": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r805": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r806": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r807": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r808": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r809": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r810": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r811": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r812": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r813": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r814": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r815": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r816": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r817": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r818": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r819": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r820": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r821": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r822": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r823": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r824": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r825": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r826": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r827": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r828": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r829": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r830": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r831": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r832": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r833": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r834": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r835": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r836": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r837": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r838": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E" }, "r839": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r840": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r841": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r842": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r843": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r844": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r845": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r846": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r847": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r848": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r849": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r850": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "805", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478072/944-805-50-1" }, "r851": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r852": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r853": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r854": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r855": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r856": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r857": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r858": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r859": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-6" }, "r860": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r861": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r862": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r863": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r864": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r865": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12" }, "r866": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r867": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r868": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r869": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r870": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r871": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r872": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r873": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r874": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r875": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r876": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r877": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r878": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r879": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r880": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r881": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r882": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r883": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r884": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r885": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r886": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r887": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r888": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r889": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r890": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r891": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r892": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r893": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r894": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r895": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r896": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r897": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r898": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r899": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r900": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r901": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r902": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r903": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r904": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r905": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r906": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r907": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r908": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r909": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r910": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r911": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r912": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r913": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r914": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r915": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r916": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r917": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r918": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r919": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r920": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r921": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r922": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r923": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r924": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r925": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r926": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r927": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r928": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r929": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r930": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r931": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r932": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r933": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r934": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r935": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r936": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r937": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r938": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r939": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6" }, "r940": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478322/948-310-S50-2" }, "r941": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r942": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r943": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r944": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r945": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r946": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r947": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r948": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r949": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r950": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r951": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r952": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r953": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r954": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r955": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r956": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r957": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r958": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r959": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "SubTopic": "10", "Topic": "825", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-10" }, "r960": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r961": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r962": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r963": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r964": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r965": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8" }, "r966": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r967": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r968": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r969": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15" }, "r970": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16" }, "r971": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-20" }, "r972": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21" }, "r973": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22" }, "r974": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-12" }, "r975": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r976": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-11" }, "r977": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-12" }, "r978": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-14" }, "r979": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-18" }, "r980": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-19" }, "r981": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-21" }, "r982": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-24" }, "r983": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-25" }, "r984": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-4" }, "r985": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r986": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r987": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r988": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-18" }, "r989": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-2" }, "r990": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-4" }, "r991": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-6" }, "r992": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r993": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r994": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r995": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r996": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r997": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r998": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r999": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r1000": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r1001": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r1002": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r1003": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r1004": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12" }, "r1005": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12" }, "r1006": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r1007": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r1008": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r1009": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r1010": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r1011": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r1012": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r1013": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r1014": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E" }, "r1015": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F" }, "r1016": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "64", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-64" }, "r1017": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r1018": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r1019": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1020": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1021": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1022": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1023": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1024": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1025": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r1026": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1027": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1028": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r1029": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r1030": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r1031": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11" }, "r1032": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6" }, "r1033": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r1034": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1035": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1036": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r1037": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-8" }, "r1038": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29" }, "r1039": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29" }, "r1040": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-38" }, "r1041": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "39", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-39" }, "r1042": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-41" }, "r1043": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-42" }, "r1044": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "43", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-43" }, "r1045": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "45", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-45" }, "r1046": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "46", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-46" }, "r1047": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-47" }, "r1048": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-49" }, "r1049": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-50" }, "r1050": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r1051": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r1052": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r1053": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r1054": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r1055": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r1056": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r1057": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r1058": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r1059": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29" }, "r1060": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29" }, "r1061": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1062": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1063": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1064": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1065": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1066": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1067": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1068": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1069": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1070": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "31", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31" }, "r1071": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1072": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1073": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1074": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1075": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1076": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r1077": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r1078": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2" }, "r1079": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478064/805-740-55-13" }, "r1080": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r1081": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "181", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181" }, "r1082": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "182", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182" }, "r1083": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "184", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-184" }, "r1084": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r1085": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r1086": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r1087": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r1088": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r1089": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r1090": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r1091": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r1092": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-12" }, "r1093": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r1094": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r1095": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r1096": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r1097": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r1098": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r1099": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r1100": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r1101": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r1102": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r1103": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r1104": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2" }, "r1105": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r1106": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r1107": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r1108": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r1109": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r1110": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r1111": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E" }, "r1112": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-11" }, "r1113": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-12" }, "r1114": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-14" }, "r1115": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-15" }, "r1116": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18" }, "r1117": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r1118": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r1119": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r1120": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r1121": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r1122": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r1123": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r1124": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r1125": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r1126": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r1127": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r1128": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r1129": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r1130": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r1131": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r1132": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r1133": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r1134": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r1135": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r1136": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r1137": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r1138": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r1139": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r1140": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r1141": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r1142": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r1143": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r1144": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r1145": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r1146": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r1147": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r1148": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r1149": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r1150": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r1151": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r1152": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r1153": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r1154": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r1155": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r1156": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r1157": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r1158": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r1159": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r1160": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r1161": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r1162": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r1163": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r1164": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r1165": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r1166": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r1167": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r1168": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r1169": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r1170": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r1171": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r1172": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r1173": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r1174": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r1175": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r1176": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r1177": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r1178": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r1179": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r1180": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r1181": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r1182": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r1183": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r1184": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r1185": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r1186": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r1187": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r1188": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r1189": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r1190": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r1191": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r1192": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r1193": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r1194": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r1195": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r1196": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r1197": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r1198": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r1199": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r1200": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r1201": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r1202": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r1203": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r1204": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r1205": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r1206": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r1207": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r1208": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r1209": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r1210": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r1211": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r1212": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r1213": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r1214": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r1215": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1216": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1217": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1218": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r1219": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r1220": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r1221": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(ii)", "Publisher": "SEC" }, "r1222": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)", "Publisher": "SEC" }, "r1223": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r1224": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r1225": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r1226": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r1227": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r1228": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r1229": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1230": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1231": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1232": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1233": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1234": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1235": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1236": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10" }, "r1237": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-12" }, "r1238": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r1239": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r1240": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r1241": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r1242": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1243": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1244": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1245": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1246": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1247": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1248": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1249": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1250": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1251": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1252": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(k)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1253": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1254": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(m)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r1255": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1256": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1257": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1258": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1259": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1260": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1261": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1262": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1263": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1264": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(k)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1265": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1266": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(m)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1267": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1268": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1269": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1270": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1271": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(r)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1272": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(s)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1273": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(t)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1274": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(u)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r1275": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-30" }, "r1276": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-31" }, "r1277": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-32" }, "r1278": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-33" }, "r1279": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r1280": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r1281": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r1282": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r1283": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17" }, "r1284": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r1285": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r1286": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r1287": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r1288": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1" }, "r1289": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4" }, "r1290": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1291": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1292": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1293": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r1294": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r1295": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r1296": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r1297": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r1298": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r1299": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r1300": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r1301": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r1302": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r1303": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r1304": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r1305": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r1306": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r1307": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r1308": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r1309": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r1310": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r1311": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r1312": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r1313": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r1314": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r1315": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r1316": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r1317": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-20/tableOfContent" }, "r1318": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1319": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1320": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1321": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1322": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1323": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1324": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1325": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1326": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r1327": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A" }, "r1328": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r1329": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r1330": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r1331": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r1332": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r1333": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r1334": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r1335": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r1336": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1337": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1338": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1339": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1340": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1341": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1342": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1343": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1344": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1345": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r1346": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482047/420-10-45-3" }, "r1347": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r1348": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r1349": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r1350": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r1351": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r1352": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r1353": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r1354": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r1355": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r1356": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r1357": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r1358": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r1359": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r1360": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r1361": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r1362": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r1363": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1364": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1365": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1366": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1367": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1368": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1369": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1370": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1371": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1372": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1373": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1374": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1375": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1376": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1377": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1378": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1379": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1380": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1381": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1382": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1383": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1384": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1385": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1386": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1387": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1388": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1389": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1390": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1391": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-4" }, "r1392": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "50", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718-50/tableOfContent" }, "r1393": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "720", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1" }, "r1394": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r1395": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r1396": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23" }, "r1397": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1398": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1399": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r1400": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7" }, "r1401": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1402": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1403": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1404": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2" }, "r1405": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4" }, "r1406": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r1407": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r1408": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r1409": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r1410": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2" }, "r1411": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r1412": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r1413": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r1414": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480060/805-50-25-1" }, "r1415": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-1" }, "r1416": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-2" }, "r1417": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r1418": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A" }, "r1419": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1420": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1421": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1422": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r1423": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r1424": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1425": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1426": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1427": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1428": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1429": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1430": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1431": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1432": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1433": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1434": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1435": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1436": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1437": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r1438": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r1439": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1440": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r1441": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r1442": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r1443": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r1444": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r1445": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2" }, "r1446": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r1447": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r1448": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1449": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1450": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1451": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1452": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1453": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1454": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1" }, "r1455": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2" }, "r1456": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1457": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1458": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1459": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r1460": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1461": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1462": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1463": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r1464": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r1465": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r1466": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1467": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1468": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1469": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1470": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1471": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1472": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1473": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1474": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1475": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1476": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1477": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1478": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1479": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1480": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1481": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1482": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1483": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1484": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1485": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1486": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1487": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1488": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1489": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1490": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r1491": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r1492": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r1493": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1494": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1495": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r1496": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r1497": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r1498": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r1499": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 112 0001036262-25-000023-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001036262-25-000023-xbrl.zip M4$L#!!0 ( *:"!UM5,,?M B$ $0% 0 > 97@Q,#%S:7AT:&%M96YD M;65N='1O86UE;F0N:'1M[3UK4QK+MM_OK^B;U-W'5(UN41--S$D5033L@V ! M[MQ\VM7,--([PPQG'A+NK[]KK>Z>!PR@B3JCAU0E49CIQ^KU?O7'<31Q/WT< M"^Y\^J^/_[V[R\Y\.YX(+V)V('@D'!:'TKMA7QT1?F>[N_JIAC^=!_)F'+&# M_8.W[*L??)>W7'T?R<@5G\PX'W]7OW_\G2;Y./2=^:>/CKQETOGG*SFR#\3; MX?O:NW>'QT='SGM^S3ZZ^C@%;P+SZN7PFCNBG^^FDAO M=RQP 1^.#Z;1Z4PZT?A#;7__?U[EGHO$CVB7N_+&^T#+A6]'/FQ.?VW[KA]\ M>+U/?T[QF]T1GTAW_N$?]4!R]Q]6R+UP-Q2!'*FO0_E_ N:!*>G7F5H#K/?4 ME9XP:ZH=X$*:/\9R*"-6V]^K??P=GS<[6=X/#VY@2T,_BOP)O [C9Y9N QQ% MU#^1$A*PC9JSG3[@'NUC]#[#DBP*=>?>JW M_G?PA=4OFYTS^#M@@Z[ZI7G&ZITSUFOV!_4!_-+NUCOT2;_9N.ZU!M]8_:+7 M;.([>8C<&19_QV$D1W/UD805>=&'PW?3>YSLPT#GU:?!EU:?/0 @F('$HZV_ M&#UWHK%@O[T^.3C8/WWT)12#L X,C\ M$:O'-X!J[*VE6-Q.N9!J)JL[ ZY<,K@L-IPS[CEL***9$-[C8W Q4%J= = 7 M:W1[5]U>?=#J=DH"C,4X.Q,NG_% ,."74\TRK;+1YK,?!/Y,!*4C3%D,YO)S MK]EN5QI%RB6>?JO=:G0[[,]ZN]W\M@742D U+_L6:[<;50"+*R<2=7-7\J%T M930'0$VFW)N7!J1!\_)JT.MV6HTM"BTOZ,_66;/;[EY\8ZW+^D6K<[$%4@&O M;C2N 4: 0>W!V=X6*HM0:74:)4+%8UTOXH'T\U!!+; LR+3/ZY=$05;)L$DQ MII&%S<@/)F PSYGT2(*T(NX"AVYY]IX%GX')*YV8NZ[2I6&IKE+Q\:&_?>E% M^IM0W(H G[-8^2;;1I>_O3X\.1VPS]S[7A(8V$[DWPC MAX#-9#1F,@I9&-NV"$,X&P(.#T-YXX7%K&O([>\W@1][SJY>[8C^G#[5$19C M\-,L:X6QM.(T2P<58'O"W9Z]Z_!SO?&OBU[WNG/VG#V Y&FNER!S8.+3*7<< MZ=WLNF(4?3@XVCL\PMT;6]]B*8\F/H!XS<;\5K!I(&ZE'X<@6 @OP(0 ,>.# M!+-%$''I,?+(P,/'T\MH!$3#R"#9?SBY RY'#SIA N":.N4CMI,!L!)W( 39!!8V%&R$^\6EJ 8042,0(9PII-0VT=@,>$VX1D1H7$%_ 5I7$CO9[6CZJ@2GRNA2KS% MK5]EB/W)N;I58"R7&$2ALZ&EE,R#R2$@E)C-"P<",WUD4BY"4CU2+7"/I80W M1BGID6="*X:D)] 6ZK9@]IA[-Z@=PF >5[*Q[L+FM&NC"L>2KJ?DL]EC MSY[]E.$]VVS)$$(&XM\QL!7-8;0M$V;$"ZEX&6$!;*6 2D#8D(/#]B/HKTF0P%<\2( M6!Y\&8UEF)$ZX9B[KK)H\0PG@GLPW9)> #^JEQ>1X5F?++F%.MVO;/"EV6N> M=WO-,I1Q6@5"=LH#TML0X)&/XAN5/4P9!-($0\P5-^3B'J+_C)X:@E@GZD4Q M-?)=UY^%O[U^>W+Z@*>"28%/3V^UQZ>WHHD7Z.W8@*?8,CB7/X"H&F. *<8K M,+0 /_3PN9($.>@G)4EP(VA0DM>.3T,*HX/EE!,1:P"6X3BRC"RH#49@'^-) MOL=JAWL'95G&*Z1QJ%D!V'OA5!D0R*Z52 9Z!OXQA1E]A\X$WK'QHS]B3Q@/ MVUOTTP1^?#-FESRPQ^RP1I^_T_XH/8J2%8$(035.IE!#,\VHLJ.^2[Q9@> C M$%-L)XQAX.X6R_[]+Q?N#N MC,_#5_?*+M\PYS.47 ?/07+UQ*WOWB+%-I3;Z%RYC>9$D;7:*3N3H0UJ"+S' M@SFK.[?(R4L(5!NQIAQA:+:D%@TF&&O;!2UO)PY(64)!4T39P(^ ?YFM, (' M/;T:&HKE@>XUX8Y@OH=I!!&M)9%S0$R"%@:4$ *TAO"KDP#/TJ82#.Z6DE)V M1[EVD-95/+58VRC73&2"I(=9,"@)Z%&!)R5 >JY/8.IRDFYPAHG2H?1B^/3> MFG&.I(Z+._>_[,%04O'WSB1 M%_/C*'GH+EHP[,<%B. XWOT(F;%[!72J2LN'E:'E<^UVX;>^5/$7$->.'P^! M1RLG"WX+*"R5"F*4ZQ4$G>/R;.?'FY0,)$8WE[QX2)-KO'C*Y;,S?P/(R)JW M.!6%ID<\=B,*-OFV'0>!2AR2Z)$"!=Z+B1/=A;MH[Y,/5,3)*47Q6?1KR8A2 MD)+'[Y7\4!S;T*+XIS$8 QJ5P.##APS3E.-6.7H.;I4KDA4.JX/-'Y>6;+:8 MI)#&=S6Y,YN#DHY5$CS"<@B2FJ0_PL..H@[X-#0))R-*\IOR^403M*&54-$[ M4(].$C0<*:MBD-G]\V+@_?YFE-RMG901.N0EX.227'B_'B6-O^3]7FWG[S=E M55@L.W.6_#<_'\"\"[H\/<]]6TX5U1)R)$X:.'YR@#J"0@'DF(PQQ6G"I8\&DR!]O2R196LF1D6L2M5_)29*#.@#Q*)6 M%0@7M.LD@UEKYJF+US!"2HP58<3BJ>_]BJ;U:UK6'AOX>O:(4@>-?I\,"R05 M!QYY NZMP26&B0*6[2ME*Q/&3OHK[P"GUD272*(,<,-)4"^(4&8PRMUH0;>-K MU9?#Q:QV6!E66P>,G9532GDW)>!=!30 QU'::%$"[@-I 97Q';RK FJBV5)V MK*8\U'LV(:+2K4<=)3I')8C*P!*'4KYGEI6Q+Q5-3[63%-^ZP53Y,+4IF2L% M:$>>+L!?5*5 _1GZ_G>T!(*Y44K9ZX-WQ^]W#XY.:FRG)(S-A*8RVD794:&\ MLIZ< ^EFN,SS1%-OMQO4;*(^&DE0 "/2E52=@J_.P6A219;]'EL?-LC%FU#_ ME%HKMXK* /'H$PT8U';C$00%?;V7D-P+>3"K-$]K44D< :&% MJ7Z?U1$$6^@:$?@+W][ 5F\0B,:'/H(-@34CIP!J#4# ?SN* MM45A"R 7=4@(*CH@0/AIQBDY@)UHXR0;#JD<8S+JP_'>47FAZS2>G(W*$)O* M8.'2V29JA[(\31*\SHF7QG)K9)QA.A7R'N9=+C$I@XIHA.&)+ME;'AZURGM- M[3.3+\DS]J4F!+1ZM/,:ZG4G:MTS(PUAW]_Q#($_@4?QU!,UA98ZQEA<- 4UF3-E'OE&==*54X@YTT/YT M=)T-Q1.!44XD>JU"V$HX4OAFLCF5*IO[PO-O]9Z#K-J!SM-L?F,F>\J$^'&M M(?[F9QAOE&'C^"";<5 G@D2=2(=&\M%CI+'\A2)6'"%B+I\Q5<<%.A+E/ "U MNJ2>PW*6-'/X3(^K\B\ 0$A]I-XK6-%*LJ'33-DL*)>:_C7=.I8A>:W6:5DF MG+W[)0E4DC:?P,Y_"-I4F@><;$\@6S7.5W7$7WF 9RN?(,U[1?52:2G(J7*) M(H?;XXP4HN8HH$"!9,4\',![(#GACMYH!'_H@KO:_E,[434&EY,!7I3E8D2] ME6H)A8I^SGFXW"8H6^FJE&MD]U066\2O;N%,@$L-I;)WD\BV2Y$DK8&K=#G= M,4H[V^5R@K+11H5 H-;(;SB&.I71E/I'4.B&,9;&SU0.$U46K)6\ M9$?E%X$0)J7/W8RI%VQ1IE2/LX?TDK6F!B% 9=.:7R MFFE'AU)5M=N.V-AHR5I?B87K&..+P+(2_%*KL,PH5NKX9DJGTN>M,AB7-:]9 MHGFM4:>C(#9.H E@120V"J$7<;1O*W.T>:$2LA&7+CG1M1-OKJ0ZL/RI"+ O M4-9$LXWN3<:8T5G"@I8<,TE9%TE"2Y&3;Q6E;ZN''ZQZN#2$+R%.^C.\S//3 M5&K$:4$X*GY(DEPJ7XDT4&N.Q3PD,J3<#X*1L'G@ ?C#5/\=)_@2B'3\?- )A5K >4F M<68[PD6'U[P 3;)Q3WQTH4"7Z;YMKU9>=\G?L02YDUX? M(2QS/0L>W6^OCXY/4=SR(/)$$([E5 <&*-1=C"/*39#X<^!DW[^$DQU6Y&3W MR?U*.@R&TM'4 DA'B6J$!3RNBKDS%/_ \/T1\>0L.T93/;D8B>V!2>^A^8AXAGHG1:;^$%T P"! M^5$+1!BJHJF$X2E_?PBF@^DQJF1L0AN+*\" .2>"FA,8Y_H%LE1U?J[J/X9O MDB\,/?MZF+]CY\9,"SO'\17,;&R:C9_>T,8HZY:<(]B=P1TI)!, M?Y8-))MQ+?Q!2\=\%YN<@#+Z;JKA6@NZKXIV@ X%=##!6UB'%(I ]P3)NL@T M^$")G$1'=*):F*[-5S48QKFYN38_!SSU6DCL R/9%%])Y3\1I+8(YDI+R#K) M5/JH\,W@UOAS MQ8.SI9(,UN,G"$+>@3'5-M548I?$TKNA97KW)NFFMC]%+S+@82 H4R74:V4[ M:>G==:.1?&Z!LD<\(/T@"H#< &6^9SZSDUOJDP$1[8W"A_&+6.)_0UA9$$\C M&[0SO(?@1KD^IJS$^G?_]:]8I:#I5R]"SY MTK8>EP?WN'"FRH=6716B=3Z5N1@/L:H#,UIL-'-,7I.F@!=Q.I4RG;F7K\VA MVZ_9KCHR4.\Z?IJYC2)OH1+L);DTG(JNI CJ=)0&5"1N:(RF_OT\/<,E8:2CY_+]NLHV4E*>*N ?J _%>6B*+RA MC!3\D,R_I+!X5:Y)$GDD']R:\DJ6"S0\WJU(I>'AXR?>_3H>=E%L50$%ZXDC M(N]^ISN;0(!&H/[H5D^>I\NITW):X(2AJ6@DG_QDJM2^I6S=K--/I4X8%X:5 MNC;(@8[>/^$\_U#5R7,(5=73KHF)W%)6V[F^/;D>AG%0ZAT:.8ZY2A:;--4T M;TIU0R#,ROK,C+^ PBF8 :OZ(J]+KS+Q%8WA $9/J!O4D:DB-20-Q2BT9/OY M#F+KDWI42E#&(YA59C/A,;I65?^<&G_HXA:!ML)UC4":K*:N^4SZE*U1BE>1 MN.$ *%4TH3LBM ,Y3*I1\P&S%>=C+N-^Q'/ZA4,H[/SQ$^>2/8J5!Y!T!%:M MYK(-XE %4'5:B]T*-!1T/8[.#(CPR5S'/Q7.6^;PHWSGNI_=0J+19KUR23!V MR2=WQX#KLV?U[Y\#JV_H^[;/!;*)AD^U04U%'.JDZ1>0!S&PEXJ4M&;#)H99 M3/G<%!+EM]"@;PD MTUK)7#B%,**W$E^@EB25=++I? M"2:SV;[NZ(8255 7L_^NQ$%U[?!"9Y9\2KV2Q484#N8OP9),YU^=0IR.JQNS6'10J279"[J]AKYVMS-G3'(TEI1 EKLS7H!%%2- MNWDW4]!7.M,JT$]399.BSS))+$O:X9FL,D\3EB:GE+X*"*<=JRQ$LS7>?+R5KJ">K*-1N1[ M2"AA9;5B$5_)2;0<[2ZWP%D,S^G_%U0>\VG1C<1KRN^M#,Q@VRNX7KZ(+,TG M-JO,YX=2+W5MPB70#=5R5BAL+X!A5.-*U T,H^7A4V7*T MR.* ":$UMKI1"VKPR\VHS.2Z']7JDL)M1?4SOX^Y=O@H?"$R.9M!+&^B[4C57VBF$],BDPP([286SC)0]) M2F<8 @*]!+%7C8:BF_5D..G 85=4\_>9SL^6/*B*#$0_DS*V$#LT?JV3:X79 M TJ,%",JW;Q(,*"ZQQ> >=7H%+H!\P94PJOX1#,,T7%?"83#9B$[ M(^\83$S76JKZ^%OA217@\MSY@ILK9]'G[&;D:H_;'*HD%*Q&%>O&8C&\7FM8 MTI7BQ6B8KX8ND*-K^V3F'$>AVIZ;=*]'K*5.FE*5T@53WC6R8#:@^J7O)&4,E6"Y MH-Q.LFLJP/:U@80EHX9)Q>-L[$]RW4&Q9!ROGW@)2%N->/X&I&WS6=INI0I(NV!X8^]:RO3#(GAK M56Z55D\;_F3B>S/!W8AJ9Z^$YX5S]Y9[DJN,;*D0FA2$(%9O+O8EIEN<""1I M@;G+9V&2_Y*=QDJB[7A!3N D48+8%;KU!EV3XU($'9_0?G3J"T1CZL;TYBUJ M9,,]%?O3"]69!\3U*0PW#; -2*:S5[9AKQ/P413"B3PD$>%MWD]/1,U*T-#; M39TZJ(TRLC:=]MAT0>X&OB=MU@> 4HN72HB$08&RX\V3W Z3PF%Z'27DIK,J MO'@R5'%B.[-G*RE6UVGE>&54Z*\BUO066HP]2\!#+ D.\MTSH,)DC5D%DQ?D9Q2O7?0=;S<](Y(7\!!8D^! MP&(C;H<2C@:S&>TQ@-EB4S]0F6H)W%22&]O1-Z==G9V;J\NL0J2@]OIT%Q/R M&N'ZLS=) PXFTA08[9E@+AOE*$QFI6L3T@JP'6@%=_*/; MLQL/W4+/]*4CTQA6A%3FKE^%-+2;^63HNSK?$]W-C$<1+$[9,3S%WWQS&)4H MEJ;5<\>?ZKQ\KCL-I+%DJ?(W\78]6(@21(7#9E+5K,)<-:H!!0S!)FD+;6(( MV(0+Z?74R4E1+RZUO! D*!E-A,"K7E MWG"ZS)FD7V./&6RHIWIEA:09(Y!? MPHTMU?#.;T@V_9JD)?5,OMX@P,L=X=3^B(/'=RBLN*@EEZK>[?6Z7YL]BUU< MUWOUSJ#;Z[-ZYXQ]KG?^Q;[66W\VX==OK->Z^#)@@RX;]%KU-OO\C?UQW?O& MNAWZMM&NMRXM=M:\A%M^DW7/S4<[_ VK]UK]5N>"77?. MFCTV^-*""2^;G3/X.[#8SG#Q"9P 1AA\@8'@GQYK=^L==M9M7.,;?9QFQW[# M6FHI7^NPG&ZGTVP,FF?L:VOP!1_H-=MU_!U^;'4:K3-X$7:!VX%1SYKU-DS7 MQUD,//#)%"*6&JC7[%_!N.J][++QZ3LL$[\;P)!]!8U^LBQXO F#JD?P1PNW MTZPWO@ $ 8!?OS1IR'X70(*0@6]ADS!6@^:&-=+_-/'75K^);5?6GFS]HM=L MTJ\P3A^W,/A2'] F^MF_PK0"QG\KP3WGYYG M-[I7FD+@K/M-A3Y$5\1""&?J??:UUQH,FH#]?R*9-IJ&J R>9HBT&+4U51/O MZNFW6[T5'*R0&=)8V:$;_^ITO[:;9Q=-A;LPXC?VI0Z\\4O]3)'\U170X'6G MI? 9%WO='JCM(>+VFVV@]HMZC\@W"P(K,^3Y=;O]3;&]_@ 7T0+& 3A_"1P( MZ1WWCQ\WS\_AY0PQT=M_=MM (< \80S\!A<-L^%O1.T:,#3>XD%4/5,&AY;. M/U_)D7T@W@[?U]Z].SP^.G+>\Y.#D_?'8#L>V2-WB*,1+#-R MS,0:??<(?7^/G.7OX,WW^ZN_WM^K)=_]3F.K\6$'X91[_WQU^&H!"!\.IC]8 M+8_M")>E3?C35YL()@?7VDEM[^0X\REEE7PXW#L\?F+S8\-MVT:$E'3M_?JK M#A9 JJ!7"9 B;QHT^P.0S;WV(5T)WX@)0RPRCH.=')78RS%*.W@Q[JCD;3% M'?=[4'M?I?VN*NU;_G=!2T&/IB:O$^OOI"(*%9?GGP9]7DUZ'4[K<96E=JJ4EL.M>505>-0F!#3;7H#)TM\R[2W3_@]EVM7B3.WS^F4^)?2)(?KX MM+,J>/(?S8FWZO.6$V\Y<>6P^[YIA5B55Y',OLO?7A^>G ZH4/ Y@'H](_FK MI[@/LN=@XJ29+]M?"G_/-+F.<2B*P%/E%Q:_KWH>_,X;]Q M-'$__3]02P,$% @ IH('6T?G+BW,$0 :E\ !X !E>#$P,G!L961G M96%N9&%SVZQG% MEM-,73ECNY/IIQN(A"2<28('D);57W^["X O$N7$:6O)F7:F2222>-E]=O?9 MQ5+'TRR.3HZG@HWSSXK?2OON+V>R2P2)WZ_!T)!/A MU]3MX4(&]U,YDAGK=MJ]X]=XO]_)\GZXGL"61BK+5'S8VX/Q*TL/0(Y"?_W: M;V0L#!N*&;M2,4]@%XL;Z"ULX*!A W8%H0B4YIE4R6&>A$+C75LGGRX&9Q\& MK#\\8_WKZX\?AK\,AC?L\OQXI$].^]<_L=/+BXO^S>"J?\'ZIZ>7O\+5_H>K MP0#OJ\MBI11HD14I_#"7ER]VWQ[=L/?]X<]K$D.+<1KE-PCB;,236XSW@8I3GLPW&#O7 M(LAQ+9^XSN9K1E#[&T.:#>Q/&M&:A?F^?_KSARL(4V?//CA__FEP->A?MYAS M+A@SLZE@D9CPR(7'1(QE /R.J5D"N,8O\9:IBH#A8&#%3Z M-800GD]$^.KEB_UW1_3X=R>V%EKX>Z6UF@G\ 'NL61Q\%2MP% I$I0U\TH*E M<$'":L ]9%,.*830&9<)ZP.'"9&TP"!7PF3$8"X43\IA939G!=UQ'.G0+([&)R"3"6JN,MI^I[5?CK8RR('$(A%D\DX H+C9 M$"V;-2OW>_1Z::Y-SJU_0"W7K:F()5.T>?R6X#'1[HF:9P2\1Q*\A4JLVS3> MH4@,]N!O/$++ $.>S>3!E&6(8\SR;(2!6!6I&1'45"LTJ86YR!/Q$&P*F#Y8 M3% &+7B&IA8 Z93/O2?SNS/MYZ^^X>7G%KM!'9Y?7@U:; PJFBAE7?L=CW(^ MB@3()#$@.9L-65>-44*F&=UGB8')Q\@)P&7-44JSJ01M8%!#WX!Y=7";J!G" M -T]/H?J3$)T:B#ID2,8&'C RX3N,3N;CXOX'7D5"":('!R%T(3J'X/FU,R M<;T]>LZ*H1IY70M[ P0>F.(^9U.:8@*4=092'HIYACY2Z90 IC40EH#1G MJ-JL]^;@W4YO[VV7;:\U=:']G'(SK195^G:AZY7N*[!^('+]A/K^> MK.!\.!$\4F1H=$4E?Z:S7P\1[VT.$>^;,A7&1(W"!%D.4/&)*GTI M-,9W@@SXN'$.&@(3]45)G\Q>CD#FW%)T\M\-S+JL!OMT#J\8ZT0]?E X>-3OD('QD5Y=GR(U8[)WAZWM0H8/^<:C]RRB=B9P2 MOMTA3!_R:,;G9NM1+1)?F/.Q6']Z:-L"2)GT6#->T'-*&3O6IXV!U=ITB>HV M6*:VC]A.%R*-8WZG=(-/XVPL-?B%5$M% %XNZI30(Q(J;;1V:6 9]IZ_2]G= M')?BE:U%"CH0J%04^HQKK^&%[685U2+0/JW(J-Z$34L+6L.;VLQ<1^( M-"L4PWALMZC:V%I> M":PU"?)XI-&!MIA*J2Z!TD*94O^(/;QY_I#RGK_VBIH2(&1$5H M@@4D$LZ-L%KRGNX7,F_&D-!$N].$GHV@2- MRVU,INWGEDMT8.H6<3J59X#T6&:NC#O.-8VPX.'=P_5Q4^0+A'@.2-:)<(5S M5PYK$"S5C$V&5(3NQ,NVRD:LHUZ6 RW431KT)6%JB/9V\^ #C$K(N832@$L@ M4\2Z0PACL$0$PA@.R1N(D8=WTM"M2[4''%=I4J J %7H^UN0]?Q-?W_S3-_7 M]TU9X'=, B%"XS(:,( ) M1RNS1=^(R]@X\P19A*8(+6 NR*=G4Q4;)=!P&PZMMD<+VREJS^6:;9D7#8=LC5D$_;\MW!ID;P55,/^LI2M>%S( M7A9SD2AN!PL[QA,$ZWA 41!IS1CCN(_,&.Z+2KJ-QM1N0D=,Z"%J*L9>E9J? M;EF#;U"OE2!@*BE/+MT.O*^TVI>X4-@,>#+R:>X0<,%1;X<-V\KX+:U)Q5;^ M]!G7#H%!NK(J?(>YOI,_W FB0)+A#]!B$F[A_O 8P>21Q2WX/]B,I#,S<'J M.!@^RMPY'4DC3KG4U8/+J@ATDRO>%LL[:7V33&8 %>BX')!'$E7U>9M-!JKIZ6ANQ$:.TX#G72..^$S]F&&3RWCHH3RX?6 M\6@3(Q_AKR,X(=?!@?R$*UC,@[2JS88JPT%,QNWQ/)DI=D^0;\*33EXY\?6V MB]]KX&"M16NT\9O,K.P!< $=/*,5(42RV%84"W\!^[4E2,OC'I =>L, [9U* M70)&7DU:AT9; T<1\9GE=PS[*#+*]+R0 MZ@RF2'L;LUZW?X I+A$=-]S?D*L6_LZ4U,GOTU-R:N6@G,0S5\K.JP)=IET0 MDM0*OYS@8;HEL7:5]@O+=!,@AXD0;'MY!Y#)WDF5&V DH4HHRX4M)<['%%NB M2AI^X\\&W V+<65UMOO* \/G&-0&A@J";0?HG'U?%Q$=()\A[B?EC-Z\@URJ\R!'8K7[EJCY/B0E]? MH(R#J+A/!815+&J3[89+Y9DF,3<\7VV'E8L]43AOY?@%%P@K!+FK,BFM-1^B MH#VK@(M)<0"4)U;:R>*13NOO8YGG=2PSF]IS6)44K0B@^**GNU6I3X\%UNT* MJ%6S96<3$O%$0,$* K>VX8Z1821*P:C^YMK3".;@:Y]_5O)VPW@ :$GJ(O-] M.*MP:4Q98A%9KA/;4!^GD2QI+D:&CN=@F(PTD!*#';$KG"NHI366LQZ M+7% ABP3[A+J$06;1!6EX;'2CK*X9K"EMUC\.'0&@]L$OQNG&>7&?LU%4D9< M8"D@+M"$LO#L\OMZ7TEQV(.@C2V@$USYRFP'W!08AZ',YMQNS(;Q]SRY=>L/ M%);24 XDU?(5GJQ!%Y3SUUK*:?E^X2[&&I^/5>H%99VZ6C%8R'D>2G20?KFR M7MFH_AV0]G>;8ZQ#A:=.$;;]*VW?D?%1U3.Z)1H@[K%]TOA7B<9)M MML""K;R3D9B("HHM_CSZZ#B*"F<%N7%UNK+L^^715Y^0VC=/DJ)"@J/BLFWQ ME-KL>>2W(_R\96;QX+1 0VUG7;E6N.Y]23%H95^6Q]8G^\I-MMF-9^(+.<72 M[IO2!.I2!WO-+=FA$9!*BWO8@J'"Y;C4I:UB^IREFIZ4U!43E>#ZP8M[Y4"AKF(.**1PM*(RM)C=-83&D7^+P8]7 M9 SV7905(R_44YX_(#;C310"Q,T*/8VDK5.2QFT&BN[;*C?4E^YU72VU]ACT#^7Q%OF[HDQ0GF"I2O==&19<#6'AS. [ M@--F]%,^""=L*;#Y.K['X.K:0;4F!PE2I2P4QRJ9"1YEQ&YK;U@@1O!PE2K< MN08J*DS%OR!7=WW3KBZ([1NVV:G)N7SUO!:.:!-T2)I'5(C 6&??ML,#JD@& MMHFI,=U;F4;_73]X=C:W&0V'-J;7CI*68Z\C5U1EIA__$J&M](J$DE%?1T3G M^-]<2Q-*6WXK#^)D<@<:H/>5;&:%QX"(^TK0K]8-"X;KIW2'YY4Y[:OV7STM ML45R%O5U^UG\*MR EO%6AWV4GZ])N=M^6_E*6UW0=VO_.31\!>)=]^AJ\$O_ MX_!L<(4_]?6I_V' \.>NAO@K5_V+B]_8Q>#\AKV_Z ]_AMMWCQ@9(OQ/#^// MA/5O?KT:7+/+(3N_O+BX_/QQ^('&H=O_T._(;/WM]/Z@TWN$'!\QT)\+41KL MD%YI#A[V825HKV%-/$-2^0EK:[ZH9?/&?M$Q@@YM5>FF\EMT3X+39Q"=W(_= ML<\?;X:#ZVM&/R9Q>6ZK<\2V4+#8:("'@*[U)ZSV_HC0!A"GC4IZ7_"DD%MR M-[DTQ';'&F,&*LU"/[.[W*9+K[-P^=I^MWVPN_IR MI]U=>>VA8??>M#L'7S?L:UJR739(QJ0\^7%K=ZOT3Q2+#GOI/>O608@1:TDX M*MUZ5,3KM0\.ED*>_7(-/X=BD=SPCK\7XY=(__GWL&1H3_9N<:3"8@A/%00=E3]OO+/ M-?V,$88=9O];7.G*:/1(]30QD:\VH.\&.ULG[^S/ EXPC[( M*%:YWD"T#GDL;+-.?:E_%ER?<#LWV.EN]W)Z?ME@(N1G7Q,5^2I6^(UD\N]< MZ5MRI0>EUHBE_=T#'A[\-5C:],Z@U_:W[E_3;^S_'U!+ P04 " "F@@=; M!B[XRB/C 0#%9AX $0 &EN='0M,C R-3 V,S N:'1M[+UK=^)(EB[\?7Z% M7KK/=.9:X-0=<&9Q%FGC*O@2L?>SK[%CQY?_^SJQA1?L^9;K_/(WZ4+\FX =PS4MY_F7OW4' M5[>W?_N_G?_Z\O\U&O_[]?%.N':-<(*=0+CR, JP*?RT@K$0C+'P3]?[8;T@ MX<%&P M*I)A2*)AJ/H35D=(0T]/(_)T!9NBJ)MB]-YQ0.9,YNWXEY83!+_4QD$PO?ST MZ>?/GQ?D"^P'%X8[^43'*^J*6)M?^_KDV::UO)I^O'"]9W*=J'^*?EQ<&OJ- M9X2FRVM'R']BU\Y_8,]>/M>VG!]K@_BIL(NE=KO]B?VZN-1P0R?P9NMC\+%Q M\>R^?)K_N/9LZW5]>LM!6PYY+J8\_11XR/$IRU! 0$!O%QNBW)#D^4.V#XT2 M7(X-,WX6Y(>U&9C8BK^0_/!^J@WRV]H8%M?NFJVD M-<160Y&6[/"MN!F364B?_O?;W< 8XPEJ6(X?(,=8SB<,O*VS;W\BORZ'Z;NJ M+#5WD&I^Q>(&WPLV<42^?#?Y;0^4E)79KT+9VC6$U=E=VH@H@QIV&M\'MA'\8&;C7VJFY4]M-+MT7 >3 M 5BOE_1"[$5_6J:)'?8G^?V>:"?/,J+WOP:/>/1+S6@0WCIH0I^$K0UXW MNR*C\Y!]ZYCX]7_PK"98!(^CAJS7.J)(-88NZ_*73VM/3?&2+E&2)E64-S9Z MK@D1WGZI$8Q>CJQ7;#9&R*;",']KL]9A7QS^PH5BOK%\ ]D/Y'+7O"'?^_E@^=.L1?,B*ER@JYC]@B"IW1NWWT\"NT[:[1\J2HKMJUTLS]&:$.8M! M2Z)*1JULC/G3NFAZ>(0)=PWLQV@4:ALN?:97R:P$9O$N Z)'?JGYUF1J4S7$ MOAM[=-)KRN/BU3>):F'O>WO)_)V^&WKL$]-WEZ%C!6S8/IV^7UM\/\'(#SW< MB3Y%/W[YM/[;XC-]QL;S0C*&]P^;:_'+[X/KM,\BM&<,6CZ3Z$++Q*N7,CJC MP/4.?.W&_?3+:^RX$\N)>VQ2TJP]XM/ZZ'?-VL?/%(:;5"2\OIS_F(J,3CAY MPMX6%D_)GZF>AL/-1RTHW?O^F.I9_A^CS7D2!^&2_I#J2=-(=N.)-O\QU0,- MM!W'5]U$.)YKI^AQ1,$OOL?,ZBX^$3R0SR,+>P*3>QSKM5W=_L^Z-7Y_\W($ MZT^?,MVU^$0\&2^@AH39IP:)-$1I<=_;;\MAFBN7Z@WJG:S_LOB\>,FGM7G' MDT'F@ R12Q?,9]9:(<+BET-FIG WLU6>99F9RM?,U(7GDWUF&@R^4ZO&% M4N>-#&IR,JCYD:%9-!GFLXEL>/31)"][G=J6807?,+73@FF17UD.:NG&?@U] M$K7Z?M<@[KEO,1_VU2)>&S-O77N$HA ^>L*73[$/7M)@^?YJ6(P6A^!,2H8< MP=GF%9R#@$R)WD-CQV!& RW7(1_]"**+R\CW$]<9!*[Q(W^8%F,=)+'B-!]Z MS#V=,:I'#*@,[0OWEPNF?='M.GO>!;QW GN#*\*#SR MJ;P09' 0E14N9?&,)!ZCN#+H4'@8=XJ:@P?&<1MX\N;K\,"LPN/1@IE5:"#& M X.J'BD?)6KC@%%RU4+$49C*IZQ'S$+$5>!8=*U2/E$K(4N=&^ZE%R M25F*W.A?]6#YV%F*W A?>&1\BH%)0;RH>BA_+*.KY%?LHE0],#^VTK7H87+;1S9,7/&Q1+&AJ50\HC[PTD&Z+2UX%(2H/6RAY MH$/50\#RETA*8ESE0\A2EDA*8A;$F)PS" +2BC"JZM'K\?:FYE;LHE8]8CW^ MWM3<:*]5/F@M96]J?O2O^I+LD?>FYD?XJH?196=K\N0%#\%R05.K>OQ[_&Q- M"=URM,H'NSQD*/2J1\HE9"ERHWW5H^22LA2YT;_JP?*QLQ2Y$;[R%/]&2#"$[TXS?+L2;AI"IUOSIWH6D<3=%KI6C*701)B7A%3VC" MWI2X_K-[-,$K_8ROR!C[HT>7C,DGEW0=D^G-_N@>__R7ZQ7K_,KYI3%U[B)# MG@F?)^*YB_0.UB*)70MV8 T]<&K=E>A-IK8[PYC%+_WIR38);W(;:)X[8[B- M0K*R&P]R2@/VF9Y79MGI-#4E@=A"0G8(;388?VQ-CU!- M5H8!XRYG4RF@#+$Q=ES;?9XQO_3]C2<)F1:W.1]ZE/KH(#9ZR,0T*[N/8]6S M/J4@A-OD$S]L*>$HPQ:W>9\'SR43"68/-O%#NXY)U^FG]!E?9YN)AV_(&!,F M>K/5"ZNR1M+B-LW#.0]R/%ZLQ6TN)14/[C!Q.<:N;=Y.II[[PM)@E>GZUN(V M<<(Y#_*4 VZS),N"K86]'D2/\%>,=<_&1N"YCF4,L5\=_<]MOH0SFN>)Q O'HC@D.F9;WG?RC""VZ W R.J(P;G%;\7*;7FBM;3BN:/I+;FBL'N(VH>?=;<^4"MT'U%1FHY3R3 MF\A?/GFBQUS1U47\*,\=;27R6?UFWWG WLCU)L@Q\#=,]S<=JR+0,$*:93=R M*V=%EO<[LD-,\,9Z*;&$_XV'_PBQ8\S6D;>\>.52_Q$;H><1&A:*1HFB4AR#-UBTE&2R&T^"M!8#33* M.3J9$K<).4!C-="8XY&&DL1M4O*:3..% ) V*_0#+Z2W/UK^CW4VW-(V5-@/ M'HFO,OB)II4Q2A*WZ':'7["]10YOG6D8^.P*J3HH MX#8A6GT4R-5! ;?YU^JC0*D."KC- >?CAW%$:6[SO.5YO.=@;+E-J%:0[16R MKMPF(RO(]@J94VZS?AQ&MGFNHLK<)KBJ[\T6:VQS1<%Y)99.R/;FB@+(* FZS7#Q$MKE2FMM,4@5]W0H9VQ-/'8%UC6<[Y+'.TIQRF\=:X<.=A9XL MFPQN8^]"?)7!XOHCM,3(ZV@F2>8VLU0!1JAY,H+;7$\E&)&?:E*XS?U4@!%Y MUO4HW*9?>&7$^V-1DAXNGN.Q*)+";;JD$EPKYTAX2>$VO5$)KI5S!)&D<)LJ MJ037RFGZ+2G<9CIXY5I!RZL*M[F'"C BQP/$)86[;, Q3Q#GPI)PEP8XYGGC M7'" V_B?M52GVL9#1A#2GKO>9$4/_1-Y>.R&/NXZ9G\TL@P\F")CWZ&/B=_. MQ?EL>5H=E=O\PKDRFH,#>B25VV3'E8=-*[A!!O-"WI^V$ 38ZX^B:TY3,:O< M)C1RXTSB-U[CI^"MUF1%/+\%=RCTL'VB$. V.W(6$"C*$'.;/3DWKN:Y?*-R MFUWAB:O(\(VS<0) ML?-$ML9OJL=R\(*^:_]"\UKT;[,M<9<.1U)!$@H!\<%3)Y- C?G'M%\MY7K\H-P9S >&^ M$;CD'LKPI!#F"%?K0J:_([\BST9&/@>R*^:C+;6TA.0YT>RKU*XYYC? M?>P5[)*6U*M&YRZ3R $O2NI T^0NP<8!+TK:/]'D+L_$ 2]*ZA;3Y"Y7LY,7 M?3RA?L"SAP*7_$!F;A&'P7H*R MF5.6[>$RVN>-.679'2[#?]Z84Y+-:7&9#]C/''*%@?T3M34M+A,#O#"E)!O3 MXC)#P M32K(M+2ZS KPPI2R;PF4F8 =3!GABD3G0GUUO?AVYCSH IQW4M+A, M"7#-J;*L3]5R ^5SJBR35+5$0?F<*LM.52UK\#MYMGL[0<\D+#U1@U2U7,$1 M65*2Y6E7+4-P7"DIP\2TJY8?.*Z4E&%+VE7+#MS8LRBY^40;S=\ZAN49H150 MJX^]$PUWVE7+%I3*I++L3=6R!V5+4BD6J&J)@[(EJ12;5+62659(.X2 9SSJ2Q;Q%TN@',^E665N$L1<,ZGLNP3 M=YF#5'SJAH$[<0/KI>@N6&69)>[R"'RRIR1K)'&75>"3/249(8F[M *?["G) M]DC<:C\A]N(L]UT]PLGU%+9#$77J!9R:598>JG64XOB258HVJG6(X MOB258I.JG5^8?V4A^Y23=5*UDPM'9E)9-JG:F87C2U(I-JG:^87C2U(9-DFN M=I;ASAKA@6%AQ\ G6KX@5SO/<$0&E62+Y&IG&HXK0678(;G:68;C2E I-JC: M&8;YS_N.LJJJ_:EV9N%(S"G+]E0[HW \R2G%[E0[DW \R2G%YE0[@\"J&[^% M=F!%P>FI!C_53B$[3\'U]G;Z<$+B^:OW7CX@)'\94$X.,)@=[Z4 ;( MQOXC?L%.B.]/=4U,X2Z# J#D"I2EV#/NLD8 2GY 698KS%VV#$#)%2A+\2D+ MSQ(F(,3Z&99*0]26#\IPAJ6L<)MD>["1W^2]"3Z+"!P%12O3..]= ;X>,O^EA/^B/ MF(X]SZY3N-#A1<\1=2J0:["K+.G&7+*@&N\HR5MP6V_#-KK)L%[>9 M@43L>L0^1IXQIH?ZXA=LNU-Z[6F;+VZ3"]QSK"P+5NW\1,DR5H81TZJ=L2A9 MQLJP8UJUWQ\]>*Z!?7^(C;'CVNZSM;>&X5!,1&_&WLCU)HCXT$_(QV8) )'TA !9 MO30;0+A-*>3/HL2O_IT\EJY#KB].CI&'O]*W7KD3&OQ&T3(;I4=&-,9]9U\\ MG$@Z'I'S/)\TJXPG4?/76+\M/W\4A!4E9SA^6C[%^/M)170R7%$HT"U^>.( 02D-J)B3$ZJ79"%&Y%0$()3A# M$"P9\&8.()3@1SI@38%WZ8!0HCSIX&[181\;!]BQZ!GH#GIF9=+1$PIR*I9E MOF]BR:2D:#1(#4E,Z)2_NS0;&KBKY2T$#;DL$":M'5HK,\W&G=-8="#:-5;K MGI@(RRSATTX"DG>79@,)=^L*QP1)526;NW1WKLY4U(>=OHF'@,?[H XL-6"96\'.-6598V ,0G!^+166LO-2E7(SP)WF[O$ M6/FDYJ&A6YN[I!1G?"FII5N;NX00?WPIHZE;F[MD3+I6>]\=*_ ?!]^KXSMQ ME^O@A>!<>%#<91UXX4XQ?I0B1-4>\*2>T4$1N0W&^>%-">*&(W(;CW)B0 M7+TI;J-LGLBMY!3+*2*WP3,WY%;S1#>WH3-/Y,X/W=S&PBSH#8T@]"SG^Q')8@?%7[."1541+A()4NL1M@)R<"[1P>NWJ M/.JZ#]K:QA%?N0VN.>-KHCU9'/&5NRB>4O'*=7S7MDSBR)L].BP+^RO&ZG?R M?%J,,GN[;O_1 RUA_"2L-6'K@&!0E56W*9Y/WKZK4GDTNO*H25,7\\'H3# ^1 M.X\=11;>AX._A=U2]$<5L\, SW.I.Y"KF!L^8WCRL(91BAJM8JH8<'IV:VU* MI3/'A:&E,&&IJ#I3*IU /DN8E*)-JIA'+MCJ<90S+$MY5#&1?#ZH*"D/IE0Q MDWQ>1K^*J>1R.%26#'&>2R9?W1+OS']7E4/FB.C10@M7[:@!IHV-@ #$,H9$ M!9^HX'*>P^41%@>&"%5%".=I5 X1DKX*J:K8X#QU&8^-I=-\[SIS[ITF>U3N M,G;%-,Y3Z%QR/2C6.:BV,UY;JQ$8UL4Q3G/ M.W$H8$>-F4M*I:B<)[MXA$5),7-9"(%D&Y>6F0ML5#+C=OR8N2SV0+J+-YM? M4+-9M9+)JW,QXP4Q78.4&)>6N2AV5S(O=NR8.5>*0U**-_O)0[F?5LGDU;D8 M6RX0 LDV+BTS%]BH9,:ME'7F4M@#Z2ZN;7Y)1T-IEZSAZ9CRT!VQ"'##9W FUU^'Q3I?I51YJ=S MF>0JEQ4EK1[I7&:_2I>*,H(2GR[H6=@/_HXQLADXS&ME\X7\A]& M?4N1#$,2#4/5G[ Z0AIZ>AI12F)3%'531/^FO'F[QP]F-N'"Q'(:8VP]CX-+ MN3D-/O^TS&!\*8GB_ZFM7=<@/&J0$7G(""[]<#)!WNPS^<\SN?_)#0)WD4DU1FABV;/+OW4]"]E_J_O(\SAT2^UO^QG%/%]ANC)QH([$JXH$)S __()$>Y1VBZ8 MN,'*!"S2&8<"]O#Y74^N1T;8(#2QT=3'EXL_/IN6/[71C""539+=].YQ&J'( M"_8"*D\-9%O/SB6;?_3S&Y8NQ A/ 4%M8"[>//_Y@OST:?/[=NNB+<;_)%Y( M[/M/['G>XL+T6!_+!\\R=&DAA&S"]OV'A$4$%AL_C&BX!"OV*$BFAF$ 9C;[OHD!$D M!FD[ 4AKG>_WM\/>M3 8=H>]P3JL5N91ZA 'O:OOC[?#V]Y Z-Y?"[W_O?JM M>_]K3[CJ?_MV.QC<]N^WCGL=I*43^Y_('Q/F!ZY3%ZXOKBX$6=34=L+12UM& M?UP9EJ4+6>-*A+-+Z29*YM_01RO' TTS%C0W_<=OPA=B[1W7N0\GY!F&,'<* M'JD9,1I237 0=:1,;%U>NT9(O9+A;$HL#?4'1N2"CB0V_L%\AK>G= !X)0$O M7_2PQUQ: :&_>?R]?J$IK)[<3 T>_('%' M$N!L0\D""_+T57@G0M0=>$^#:/K'M$;I=D%-&+G>! 4D MY'@-+D?6*S8;@1*S#(EC(DB*T'\4).V#^5'HWPC#WWK"BCNS=&6Z M5T/ZL]16U#72I+5;I7HW-ZXG!&,L_+% B1"%L@(FD8\I+"9VI/'LC I3(_^! MS:07)4W7<4^[&S8FY!%C>EO#1+/&#".O@9V%'"BUSM]#!PN*6!=HFF6;-!R- M4X+K@>X'W9_.GUSVY]RN_$?(]I?:7YUK?_4DM?_PL7L_N&4Z'M3_FOH/ED!9 MZ/^1YTZ$?[_]3PC*S("@;QWC3>+8RMU5M-!\Y9KK/CA=[Z#%#P&> M>NX+?\)_0LWS3,ICG0Y2KM0I?=IGWC!SK M3_;Y8S8?F \"W%X\7@PNA/EQAIZP#HZY?_0QA4=;:IX]K31T3=/#OC__YXX\ M3UI(0KO6:8FJT$/$:_B5@N3:LUYP_;U,I,CJ;WNEO$SQB[7.(+3(NV11K(+G M=C#!K\B??6_H_ERJ>$FJ=;X%%\(="CULOY]\_5 R,_GN>P_$I!!93FYQ)+G6 MN<<_A;]CS\>SO)C^X)+7V?^_-8VLW_Q5"O'76Z*F5M4A%3[,ITL_I@"47%J)X1*FUR\KAP0>?#8^3F"QV:)/1*G34//#VGT%K@"N8)974G^ M\/212A/-Q72-X+*ZF=YM$98B7\B*DDNPEO>CU(+BOB,[?&DUV] *HB*U'C+& MPI6-?+]2#F[J^7J(*9+!;/+DVB<]U46NB'&V]VJ,D?-,OG"$?XXM\LWC4AMM M^OE50'K6Y9&Y8IY)\A,3@J5%U:.$,2'4('"-'W5ABCSA!=DA%OY*M)Y$D^." M/]Z5EJ@"G++2;RY)D2 MB=>L=6[OA\.SILP"60N9BY+2[V,03'Y]%WZTB-#^ M:] 3NNP5:'NR>GM ?D2"W#HF31A@X6DF&&-L_! FM#[IYQBSK KU8KRW-/4' MZ:,P1KXPLFSB_R#;)C_2U4CJ%OT16M0I(K[0$YY?0)ZY](L4FH.)EN+FWM&* M4[54;,1CHC_3I3C!9"=^LDNG'C8P4_F2++#%?E_X0)Y'V"'X(=&#_MBEN?+% MDE>1*4MJTBV)\) MF"BS&7D@01XR6+Q\C0(4+4^^$XBW9ZQ\AN5(5M?EJ4&A'J;M!8RA\^.^_ M2'KSLTS\VOD%P=CRR8C1E"X*%2T=T7B7H,?^Q].$] KS*._F"%^6T(D'0WI7 MF,>I=B?P0H)-QHL%9!@$Z[21C\G8[U'=&/NM0.C2B/W!GQ A(6_Q%NJ"<&-" M9CZCEH \C:A/2IIGX=ES?P;CQ:\7Q#!@-C03CRR'E3*P_%1MV]!J0FWC2_+= MUO>3&ZBBKVT90(TNP#+))%YE0UZ8JU4;E4(6CA[5-]L7JJJF#>IE[4)7\ZG? M(H&X'']'ZIA>O5!:[7P&I5_H[29G\Z-/*BIEL7UE]&C:YRY>7O.O/SORO-ZK M_/WS6&Y(J.)T#REK\JX(OY]=;Q83,K&+&!*,^45OT9,LU3K=3<"\7\,Y$\HO MR_=S2>UP,*'[.%\A#3OYG%9."D&OR'0'6QV[RG,RK:YCI%BT*]V[(2?ACIR$ M(IY0M>5[&9]LZ\5[\N=B)]*B=D&N7QFUKA9ASYX=!;*2;$M!RK+YH\;#HQV! M)UVBC@V7K5%<5HCE@H@-:8OT((7R]RV^JQ\0!]C U8> M4F\'9"/\,;;MI7GY0,C.D@)1D?3N&+TB":M_83]U3=* 4B6QV&[?";3,7^FE MXF*^DX/PD"W(^5&[E=7%N_F2W6()KRZX8"#7".X,BQA[_Y?:[?U- M3&JT7\;X3J+G'#2,%VVWDL?2$P,L1OD6>*285JM(\EUM=FLZ\UE MO=%BJ-L+@A9;YW7:Y\2-5,^EAVE.^05O[2:^=2,QW=64K4= MG97X;Z)THOV24N IHSZ2Q$3E7HL=1_W'A_YC=YB\Q0T'8Q]VO][UZ';&J_[] ML'<_W.PJ=/0M00E7+0U+9=':1>*K*=/V&X&]IR&&XDPMDM7 M/1"-7'BZ*B_O)*%$Q>K?XJE*;'X:W4MW(#QT'X?"[46,RLU_"X,QQH$_3U51>-&. M5%%.:MF6JC(S%#Y\=U!H6F2"'VDE%9V/<(T-UIY[/JDHTZ:";N.,=WMT6TF: MY-W]*PV;V1,LAVYMOVQ(N2T7G19?V[7.4B*%-?WSYFE0Q3,_N9/64RZ*UBD< M O(FS$HB?>NU.E->E#HO^AM66*G2V5#ZTTD4J3:7C=I 0Z!AE^M40L?[ES?_UBQ06\UJT)U)G$R9I5Q M!,PJWPQ2P*R>'E^UA&:5U*>02I8J=/C:RMI\(?\L7!CNS_7TV;5T9>MD]*7+="7W#-(YU)? M J_>\TJ1Z*;, /MT%\F:"H1JA8JPKWEJU0I0D724BB1-FA>.R5 XQCF;OB$' M/3,5_#=?N+9\(XS.P:%>4-=!]LRWF*/ZIK.)*C>CO8?TFD?LA_;[)6!0YIPI M<\9J!=0YZ(E#P--:J',%U#GG;/H'W;9-7L@Z!E+]3+ZP%Y^I>K==/Z3[8+M/ M;A@(],!@' B/EO\#=#9O.IOR4Q-!9X,R. 0\ZEQGJZ"S.6<3W<[L$4XP??W@ MN08VJ8H&AWDVA2 >!]'O'58^*\(F[X[*\?-#I =]4:=5_&OG)]&DY+?H]:G<_<9 ME#9_2ILP5-NSBQB4-FB#>/"T87F_(FRZQB/$RJV^3VD':^Q8KK>BK$$Q8 MVZ"80>(/W.P@RK"&7Q$V?2,/)5[T"!/G>:7,"A0R9PJ9,0L4,DCZ8>#1Y@I9 M X7,.9OZ[-R?6R%IS5:R#*N:<3;W7L?5D15M\ M!5#!7*E@PAYM3YNL_2KXX#-H=NO6C&?6YE\FF55HC_3FS*B0I%IG)-ZFE_-%VM@W:>D3J?!CLL#I>#O([#F\;,2D'-+C.%0N%%.<6UGN0*_Z]X/^ MW>TU8<*U\+5[1[C2$P:_]7IQ_$@O^'&GSIJE''RIJ5KJ@R^E"ZG=2G5V^UXP:--_P1%K*^= MT7GJDUX<320HTOK$ 1WKA&)-(,\)&6OM(Q,@X@D9/YX]E[B[C?FX1NQ_GU.& MU'G.5#\P\_'AUA&"L1N2AYI^7<"O!IX&@D\/KV?UI%,B,-$G$P7H8P)<[*7. M'L!LO7]NJ:F3*UXT-3I,VJ=06-"**Z3%1[8K1Z95@9))%U0V7V08&)<'K_154?LF$[RKT/*('!.3[./ ORQ1 [N[/2< %^F_K MHBW'\'\M R%>B-)F\%0")FA3;VKG#/H'_B.T7I =Y:#R50EI""D*W,K07]_3 M)=6\5N?CT:>6/Z$OUBM-ZM]XR&"-,D/'"AYI[C+TS1KAND.'S+XP&H3U)C:L M";+]7VKTDX,FF%[9>$9H>DFQU'5,^D_O#4C=X IYWHS0X'=DA[@F1&4NO]2L MU^#2"2<-TV5)5/I8 BU""\Q 1O-/HP9M[2NUZ[+:^O)I?:2=J&M[%GXL!#8Q M7_*Q3B *U1<%M011D)DHM!21$U$XMJ.T[:B/YHJ]7;>OQT3/T$,F"1D-@\PX M\ 4/&YCP_0;;M_F3G8-/S,PP/DT!(L%WBC;']C'_-415W%Z^Z M<;UK-WP*1J'=G0_M<3FRN4,8 S6EUE%U=0-GS%-(-!TM&IE-\6JTC*W5%;6=5 M?/$*J# ? -!SL%[($3TZ04^[KK8U3M!SKJ'FK?-"QN-Z;/-G0?FF7=*4U+NN MH#3MT<4+RL^($*65GB:1GF9=EWAQ.@$M1>O>+&AI$;3H)$1I&L5E^XR,M2QP84G@,_5K]FCB.5]Z$5NZCLGV?G49*PYT M;]HD!*KK:F;]#+XQ+QC:HY_SQY J$K5=US5>,)2GARPU+S2=Q_3IT V0G8X[4MZ9(&;3.#6JK0OVU,_R#.0W?B$H+]R;Y?C/K!1DY ?NLM!IX6C$JMTZYKTF9B/O\% MA))FJ-8ZK=BE.-Z6'LY1S^X-PK: ('W"0]58]-7,;.0/*_'D/3H[1_#MC=[R M Y].P:=J50'?"131QL/CD?[=<$>-T,?S2(Z9>ECF.*I>GQ_J[#S?8>1CQI3^ MZ+N/F5^=5K::M8XDUL6FQ$DF&^!3M&;.%3XM!I^F?F(+(?SIWE]=U_QIV38L M9!Q5UR[(GE8NVK6.(M?5[ N$L%S!"U+VJ-4#D:*)!"E$@ZJ;58B57I3@3X/> M.@%RGBW:$@!\U_)*=!9,B++ )!KLO1IV2.EPJ 1)K!A#SVT% ES8TE&TMW0G M?Q3)#$5*4^<$12?KR5[C$?;H"4H7JG#*4\((#MX[A3O 0O2ZE:%UH1M8K M-AM_8L^-D1>E1@2C)4OR9TX<%\!-T6IW%VXV\*'6.MFS N#3[F9NU%*]_**: M4Q2&?5G8MVJT>]2S&,1]Q M>\>)0]SV7ULAE4(H8;HA78G8VHF/[]&=0'(R7B?QRP=%?SL]#[Q_?;X;^@K=QI]8WI;5K';VNRID7,?E9DP'<5Q_W>Z*G[+C7Q5JG65?; M)U9$=0I6T5V4&PLVK3=>]:1@Q:K$?0-W9VFQ?8G*_/[),W8H]VR*!G^49-[,Q%E:R'7[ 3 M'J:8P=DY^(P'#ALV)JHIO"R1G.R;CE=&B$#I%J6<-FW3&9A M78='G_P4A6F/#OX:^N3QOG_E3IXLAW'FC6-7JPR+]88VQ(JVCU=Y*30 ^!2M MB_.&CTXB-OG$LN/\Z>3K=R4GX ]SH8MW5A$<[NG0UA%U!1SDT\%1EFJ4PW%$ MFQC4526O\[C 8T[2-A-J2[CIG;FR5A3;"+'9KG4T;IP7 ,C1FV2^!TC2#JLM MD;<.JR?K^49M-#FI 3E%F4G22W-53@[U1EH2]4::+?!J3P8Z2?IMY@(=MB.Q MJ?#2JO6,FFYRXLU6;^6[\*Z4*X*55IR46D=MUD5],^L+O>V@KH.+KHT9T*W2 MH*ZNQFSF G2?=JQPY4XF5D!/LHTV_2P7-HPBXX9T+1QWI;EXYE M_U(+O!!OIA:7-.DZYAI%EA*CD5=NRLIIT4G-@4[Z5CJ=;&IS$+C&C[%K$[;X MBR:;^(_0"F:']5I,8C&K>/^Q=:IIO2R>/7]$@UY_V5S9J+F^,?.8J'GP%AEQ MG^*G+OQUEZ@^8&\P1A[>Z0#?WM]LGF,^?PL#Z0/R^MX@0 $V?T=VB-^>.O<0 MQ*4<-W>KCFWC48L:3ZO6H3R*T2WOOA"FR!->Z-,^"UMGX-.W^-F(R4;J=\-@ M['J$[68R'^QM1NT=%(X?7SKB9AQ?6Z3[_0GPZ?\G('LT9 $MWY>:_(=,KQ\& M?D#\&"+<>U/3;U.3CD+Z6]\/WY-]Y[#DU,,Z!+&'D4PYRMA2DXP$,HZ['YW) M\6NQ$0BN)[AO=%J:<6)2(*M^I*SZ.CZ8?4B^^M36DR[A'47KRZ0OZ>8_/2"[5GQS-CJ=B>8EQ+-JTGF%7/ M]U$XDF7X*AN^TFS5Y;CAS]FRXF^O\R:#]PUU8(>7;2\!,/>DWGM,DJA1OD)I MX,E 8F\%]GY(T*-?93C&H.3N?F3XE.S()KZ>99+Q"0::6@&RH3#PN)W\EHQX M('RX=:XB+J1$6;[C228W*J>1''"#R MI2E@Y#ED(K#OY;B:>$'_WIS\7<,()Z%-$RO7>&095MIZ6TELUSJJ7)7.6M#[ 4K%WVPW_<8=MF+A:Y4VT4^V.L.4>!_W1$+VFED)V&)@&F\GY!M2'3*K<)X,F M?QT;6C([9T[9A-:&#JF(ZWTBY7=##R,_]&:+945$.SGY0>[K (OWL+39/(,V M?U"Z++JDT"XR=;&Y":4B%@#R&S?M2=:N*ZW-%@OSS#]D^X^@#_=8V!AV;\OQ M2EJMT]8V3W!)KM @X.$&%GLBGC2PT DLU$TA/SHL3NSXAUT[3_VM.P_@% BN M-J*N;A'I,0:E=B1IPRN11"GM31'C?<\>'#QQ*C#?8RYR@#D]2ZA=;[;C2JH MY6?;6(&%.#F;NQU^8<+MQQ%A+A5"3M,-GVR\Y')FY< ''_YZX+[LG A3<6V9 MO#M%US%ST)UMXB*H[;H>4[7)N_(L CXEQ92@.T!W'+/W1RZZ0Q:)[M#DNMRJ M>DN0\G0'\\P^!?2(S47ZL^4LAB?1%/C\*SJ@]KH$&YA@P3MJ$P., M!63014_DS @5A'LW(&Y7X-(.(8Q.;&WTQG*08Y"7"6Q7"NL%<;&>LEV9\_P- M*J'U9W8X/('3I8=M1%.]GW]:9C"^E$0F&BMWS4DDOMV"GL@(PF#[+3'$+8B: MDIB(G VI\2Z1O?)?.G J=Y8B&88D&H:J/V%UA#3T]#02)5'!IBCJIHC^34WZ M_*:Q][::\HP;3QY&/QIH1"9VB>R?:.93"*Z2A-!CE?[)2;>=4*-1OK"+F$2T MDANUT[\D4HT]>A49 RIW ,+8HYKX+_N9U"3Q"A5ZVFN>-D6A,O'E$^K$ 6"% M\,<":+PMNG6&V ^$J_[C0_^Q.[SMWV^5XG('>M6_'_3O;J^[P]ZU,!B2?[[U M[H<#H7\C]!]ZT= 'I8]]2RK^NX-"TR**\^/6$:[+7Y.)'[,A;^J0F2TR4AM- M?7RY^..S:?E3&\TN+8>]F=WT>?UQVF9M#:-(]/.;3K@0([TPSRO,WSS_^8+\ M]&GS>U6]4#0U]B?Q0HK]?MNC)/E";,7?LNU1V[]711T&=?Q!:3L?M2=KM3,7 MV]ZX+";FB:2[2!\_H;X:$KN!A6_DNK$O](@Y,1,DITYH_@/K=?OLSP<&?P\= M+"AB_;R8'SOKA$PO,Y'!'G-)=UA81H)I?KAUA&#LAN2AIE\7\*N!:31)JUE8 MHGJ*O?DG$C6A1-6B;[&IM!:8[BJ_XH;MLDBW@>8PR7V]YJI.)36K.C@A6@!B MTB.F@CTT$X9*C]&A;1GZ ._@;RE9\H03/S1-OF_*1\U_)YQKF@2XMF\O#L/+ MC>=.XDX&NW4,.Z3$Z/H^)O]G'E"[+=-M :VZI&S6(F1N6KU;&7&\; 62=G*2 MIIT@63%2U:K?!NFUCJZ4F])>?4#*$[2*GBX24+(7+D^._+; MBX\FJ[4K]OA!%25??W2HJ:'MX/2ZI,$VZM,!S)[8(!M@=-9%56I#6ZO3 8Q4 M)&":)$RDAUSRTLT* %.XYY8-,"T"&+T>MRVU^NW/&"_X<\%^]5S?%Z:>.[*" M@_RO[+%:%<5@CV?&J/K B)I:".BV$*G>;F[N"N$M,#GRCOXS@]@>7RX#Q!2Z M>T"I-]MGD64"B!WJ_66!&%V,4^JBO-EX!"!V3A#;XR]F@1CMU:776Q4PE',_ M\MT^&TF+JL=+.Y#VP!H=&%DE1W:ZQ4C]*:;[@9QG ;].L>-C'T[R/:7[+J)?:DU!J':7>RNZK0IZ2&\#LB9XS D:M==2Z M)&9>.P; < .8/;%P1L!HM4ZKKL0X86Q7F.>:H1$0)K]@VYW2WAF9W+,8BIR,+.RM_OYRW?/%#3Y(BICFOM#/@ MIWS\[*U'SA$_*CU$JB['G$)>_3.D.'7M?L4.]I#-W#ID3BS'\@./=36#A-N! M!2X118E =-?H>:A,2+6.5F_JF64"XF-N$+2O?B5G!,FUCDZB@LQ;$@%!W"!H M7WE*S@A26.&=!DFZ$X+0OO*3G"&D,@B=YOG-G/IVW8E+AO GZP=*]Y(ANAO7 MPZ9@.0%RGBW:FA'Y/@ZVG^%\KE'/'A]OE;+]T>V2G%U&S3CXTU4.C9>X!N+B MPGVX] BARQJYE1T#0LI'R!X?;1]"4MI7>JI67=4,H!8%D!IS M*!ODW@K"PB,F3G5H!"%;6*6']A[FB)URE+)_^?2-A%=CY#WC6./:KG5D":+7 MT\'%_F71&%RL:L21]8K-QI_8$4P<<&EU4 MD.OMW%;[3W$?+*?G,1_?H_T_V*[O?Q0LQW GY[$CYT.F MR,8GHR9_;=7-MXR0=X2H<0JX6>NTY4TSOW%8%BRY\6^MDT8ANQ%!FS4JF5<; M !;\J(R-<"&-RDCIT+59RP5QLU .- HGT"G"_]^I472QUFG)O&S+.]VN^[?T MN#QZFO@Y[7W)YCNMPWE!P'DT>^\ZRQQ\'*PE6A2\N9267-'!*AH_T-CC.Z6$ M!FUAJ&U6LP$TJ@B-/=G6E-!0"#2:FVE\@$85H;''/TH)#97XSC';SX\.C1/. M,@5C[)U3:BG/-7-*NU4(1T[_%FNX30LB^!%-JA-#E'PD04LNP2KQ#"RRJ\2;]]]Q#Y;CHF= MX+)!:VC+5T$?[MBJ,4:>0Z;@"T]XY'IX[NH+ 7H5/CQA!X^LX.-9=7LL9&WY M+=V_.,K7]9C(:HHD_FC#6C??\"IDK;M0H*5;,V]* M=,U<:6YN7@8-QPD$<\T)\P,\F>Z:%V-,*RS-Y[TTG[,;>M*K*NG<4"(B\^S MUXBR<4A7:IW6YE8M6'3C!!ZY>Y")0*'6.CJT5> ;&04Z?XDPHI'84P7-P2T^ M6M+GDG)-X] GN+R!_"B.KPLA.P7=OQFJ8>QPL]B0MLLM9 M)#Q6FW(RU;]FFEBYYB%^1H7$'001.PO>FTWB-(@<%'+EX#0 M'F%=HXQTUY MTZ.5E$TO>$'3X[E[E0W.0(YXE:-"(LQW$I4R+TL;/M9;2I8% 4 ^(#]/"[(G M=MYG05IT#V!,>]YSL2"=GSB(.6%TQ8[N=&/V]]5@4^R1 M&4XF1,GY8^3ARZV+;D>HY(/[<[[_#$[#^8I\R\BR'L^'9Q4_N>2>5=S$>%R5 MV!E3/&!O0)70SO23O#6TZ,V5VN(Q#!I+ETM\<[FD6D>\$-63J"H"J/,*]4.0 MKK]#^H$ EQG >3GS U!^PB@_2*%+.2MTA>)=/HU">( ZKU _!.FM?!2ZRA0Z M+[L]S^ 0IVO+#@-L5G\].ZMP\I>R+3^PF(,C3E"US*$%K$\ V,L/+79 7,\G MN "< \X+4>K-9$K]:^B3]_E^EQZ?[5OT\0^>>T/7HU,(0S-SY %R ')0?N2Q M ^*M?&*/$UPOAOLYN_]TUVW_R3Y@4T!D+.@9KRW:^H(;!GZ '#8)6,$]H?O/ M=04WPUPK9< C^=V9EQ#?V^Z%+NA&JN ^G#QAKS]B=MSOOVF">38Q28GEBKEO ML_,;94FKR]IF\[ \^)15W9\.G_7R^-P6(SXK:EUK;_9J!S[GR6>I1#Y+C,]2 MNUE7%)#G8OG<*I'/$"C)QN1?TWKI?"'_6=!T@KQGRVE$]":46.>-@6G+MJ.R88"Q M@ S#G9 WS@AIA'LWP+X0N,*5Z[#.#H@FWFXL!SD&>9LP",@7$S)0_V(Y[_>S MG+]!U<@0IFZTO'3I81L%U@O^_-,R@S$9'T/!REUSHHAOMZ G,@+"P:VW<$?. MAB +C76ZK/Z7#IUBRE(DPY!$PU#U)ZR.D(:>GD:B)"K8%$7=%-&_9>+1SF\: M+_/]4X+MQI.'T8\&&I&I72+[)YKY5$&L$H509)4#R8FWG52C47)2M1)0*F(3 MD3@WZFYX2708]NA59 RHW $(8X_JG+_L9U*SUAE201?<$167@$K%ET^H$P> M%<(?"Z+QR?1;9TA/ [SJ/S[T'[O#V_[]5CDN=Z!7_?M!_^[VNCOL70N#(?GG M6^]^.!#Z-V3PWQX>>[_U[@>WO_>$7O?Q_O;^UX'PX:X_&'PL?3I;EO._.R@T M+:)-MX\P5B29+7E3DFPO'QFJC:8^OES\\=FT_*F-9I>6PU[-;OJ\_CQMLR4[ M(TGT\YN>N! C73$/DN=OGO]\07[ZM/F]JEQ(JAS[DW@AI?Q>%?54=VP;E"1? MB*VT+X=!G>:@I/B7+.[8DQ9*Z)'OO*R]<5F,?QYI)@X678?$#&+A&[EN[ L] M8AV3Y)-.:/X#ZS7S[ %4[XCZ]]#!@B+6SPM*669]! BM)!3>.@6(%TUMK;F? MN-(K@&=BRZ*L)5!,S2J0)T<1P-!1,%3!0V67Z07VF$LK(*\P$I#H MPZTC!&,W) \U_8T2Z6.N/>>%6Q@?C.]D2D_CLS8)VOQF7=A)0R38><#-#IRB MV@2WH4TP0+N\Y=?\VP2WM[0)ABV3@.HR%78SH<*.V2OI+S9+9FKHVX:&OB 5 MG.GZ; U]97%+0]]JZOHMVRUEV&X)]Y=^?^%U[.PS7\>Y?W<\3%[^)S8%&I,+ M1)E9\U-.!0\%6/!_HJF GCW,2M0**\$\I:/2"@ER^\$8>U?N9.KA,79\ZP6_ MF8TKY(]O;/?G;]A\QK\BRZ%?=FD]VR,V;.3[UHA0A ZEZYA#]/J /,++.&,C M$?_I-+H- ;(V@LQ2D277.BH@ZS20E?1PEN,@2ZEUM,T2&$V+IQ/?+1$8S0(SPT9D+@D:?9C+D",O\3^L$D*B$O:&EX MEZ#&4)%K0^R$(/.LI M9+780W\'A4]_EH6K!5ZS1;FP:X*4L3UJKR:N.?!_!ZZ;Q[T).4YN)-G.6 MU;P6()-QK +YEQ. WM&SR6\@W,"9)!*+H$K9DRT ,'X =@1?.HMNDR3F L<< MKP&ZK>K0.WK6>9=NDVN=5AZ+7_P"[)3J>O93&48&(SNK8/#JF %@0BTX;\&R MX_SUDZN+33=S'LURCM%NC!T^V!%4:-EX4]FL(LCD"";C$Z?%Y2!EU96R0@+[ MG?*V*5*T=D+*+YX'6>(!6&#/M7__-;_^ZZ]SCX[[^T9*GY6>C]X_OM\%^ESR5E%^7E.#O5:)BL M*!>*JN;4W%9.^:1M@VI>R(K"V9BTB[:XNW4OC"D:DRCEU2PYKS'I%YJ>KA?T M,>BD-YN)YOXD/C6?NC-\IDZN(?&DR*O62MV,\,S)U#2.]'UMD9JEMJB$Y*^> M1Y/CNH!?#4SK6.@);(*) L1+W^/=%6D\ C$ZQ2X+^8HK+JHT8;L3,J/#>@4! M+@&7)XQ+[N[/M>>9?*'),49UK>V9)%UH2K&MSY*!X2NRD6/@NO!WY(2(A%52 M74AZ2L4Y%MXGHVK*0VC;JVNYM_ %4BL^YG^#^D@*A?;3C1W8B^]"JC'TSKI(0QU1CM'=78ZR&>%%L M%U>$T:+BN;E!!N02S$^AYD<2]]B?1X!R ML#Y@?0ZL7E^7X!WEZXD,D2S6.NV87@:Z7";')B/$D7_FXX[5O"WRRG/LMT.[I<5^0LAX ! M:$"0SXLGZ00YZ3&EV019YT:0SZ$N-AX7_1U'/ISW\;]%ZCI.C@H$G@!/@"? M$^ )\ 1X CRI$$]2A3,;38^+/VU&IGN0ZJJ>5\M6@%'Y,"KA0#:YQ1>,SG=E MN#NA9U[^&1TV[HX($D;8\[#)8F?"[N@'UEF4?!FX9%"N\:/QA'SR$?U$G@F+ MRI [!)X 3X GP!/@"8\.7G.W@_=V#K8_=-_ZS]'6<[?.O.D+S7;*F38%H+R<:A8?."_9IP!UU?*!?D7\"SS+8EPE;YT(: M+&4CC=:>1AIL>T;4O.DZ] @%(B&+FFD\+AG$+NO2W,BO7N("DK38 MM4MJ<#2R7K'9^!-[;IS&59<8 MXL3!/=^R@1O7&V$K"+U"TQ5GEDC<[O <*U\Q9VOZWM0*W;W6K"NZ5OZN%T 7 M+!T 3X GP!/@"? $> (\ 9Z<*T_.=SF=!36".Z4QB"_@5^P9EH]-6#;G;-F< M_=B/V-1;<"EU^*G7.FJ]+6]&GY!MY A8D $&G@!/@"=5Y$F>%?>[5DJVV,/- MU1"Z$W?SA K #$>8 3D&G@!/^%F%3JQ;6QSIUO-=9(X"1,%BS"2@,+$G]"93 MVYUA+$3Q_4/H&6/D8^'!1@ZL,7,6VR^8Q2Y:L(IR*GU-?+O6T>I*<_-X5=-Z63Q[_H@&O?Z2QO_+),&[I$ )X;\?>AZFL3\VA:>9 M@.?L]5DS.A18_F@F!.A5L"WT9-E6,!-0(-!Z=#(A6HF^HV$=H0!4 D"R%'@" M/#EN5JV]+ZO&;J-=7VY<;XA>_VD%8WHL**$%^8+]^O5] YB8K)DJUSJZ"ETD MN,9.NFW.[<3]@QZCGJU#-RU^5MPCI=;)LJ$'@ .& '@"/ &> $]R/;>M4*.G M7=G5?U6H=2:YK3;7>;&W6W2PX?T2+ M<4C^+PU(2LHK%X[SG0G'H\'\KT6R+C'+>)#K&&NZ+M1;2'WHQ!>FZKYD]*::":M4Y+K(LR&"

M-K/W) +Q ?'AS2C&28^X2V@B MF&[X9&..L[L%U&$D)T$%JC2 G\!/X"?P$_@)_ 1^GBL_TZ40](0I!.*OWCJ& M.\%W\>>6:;2F7]P\[C=U@2,@BCM$@88X+7ZFTA ;69)#%81:"05Q#O71\:CH M!V/LD3E/IAX>8\>W7K" D>>061V6I (\ 9X M3_AK "7O:;#'?."K51?X+:8A 4Y_-$2OJ5>!M5I'J[2)FK&P %[QHQSCK)K:]4QCT"(/V M"L 3X GP!'@"/.'&OY-;B3O##-TNF3]](K)I8[U;YPI-K0#9;$?PT_O&,(_X MC]#RK0 /L/=B&3AJ,/N(#??984]AO6;C_+]FK:,J> $^.&FN7 MH8I;/*GB\UVPOG&]$;:"T,,T# \=VIR;A-A14P_Z%?DG\"R#?4EC<%C%SE(; MLJ59RMZ>P[M.\GI< $^ M)\ 3X GP!'@"/ &>5(HGY[M4?)23IB%W5%Q\NN5D]W1QJ4X;(M6U=N;2#4A* M\J\PH&V>';6DRD^^1G+I*3QN#8B%.(006 W@"/ &>5)$G'R3Y MZ&;D'-;9]QSM_/?0P8(B9CC9.=]&@1$IXOK4G>G9FLJ^LS5S.OI9GQ_]K+7K M36VSZ2#OQR\4@:*24L+E2TK5SF(IA#!54AUQ$>+&^9T'G'"D5_1TZ1/2!F!# M<["A\K'.I];I^=1R76QN[J@"F0$+"A:T2J<%KJN-K*<%ZO0(;&TS"7]H.V^0 M4)#0$Y305 ):^-&\>G3*MBY6[Y1MT!:@+4!;K&J+C<-_\]86S>@@;UF#B!FT M1>FR =HBD[8H_+#CID3KR[9$W7K1?\ M^:=E!N-+263(7[EKSB[Q[1;T1$80!MMOF5-R?JP%6 M_COVWG9'/./&DX?1CP8:D5%>(OLGFOD4/*OS(Y.;/[^M7.AD",DIL7W>HU'. M\XZ(3E2*Z[%RSDO638%>10:!2AZ!,/:HYOR+I4B&(8F&H>I/6!TA#3T]C41) M5+ IBKHIHG\W:YTA%5FZP^.**ET"\B^?4&%M_Y[3@5[U[P?]N]OK[K!W+0R&Y)]OO?OA0.C?D$_]J__YK7]WW7LA]X_OM\-_"1\H"RPGQ.;'TN>UI8[LNX-"DW9#_!@G\KOUU-KV*$5?RFOG MRY/W:3OD]CU):JU\XT6#;6U1B\P^O6E?9A()Q6PT]?'EXH_/IN5/;32[M!Q& M 7;3Y_5A:)MU9NQ]T<]O.NM"C/36O YN_N;YSQ?DIT^;WRO*A:*JL3^)%U+* M[^643]HVJ.:%K"B([E]L6 [[>]Y!'FCVGF:/ M.$#D2Y-1J9?\F/ S(U/7,,))R'8J,DJQHP$C9*V>#[A&1>$#/2APHY &B#ET M@[F(KJ8@YS%=E(E<(UJ\4934'48Q]VX5.1!'7Q"'/>:2ZB/+2%(==NL(P=@- MR4--OR[@5P/3+"2M!!5,%* D"#ML(U>"^U?2H]):;K0*0(RJ:;.0;__TSY*P MW0F940"X!%SR1=CR<Z3FD3C'Z5F>@Y[.ELLAX^52\CX5,P MP0#M,D#-8^W";&JU3E.K-[46H!S,#YB?W#9$-O/<$-G4:YVV*.6V(1*$!82% M(U\MR:$!V6J"F[6.IM95300K!X(+@IN7X+8+%]P6VR8HM7407!!<$-R52[6.KF<^Q!T 4)Z7CQ)):1[>L_L%5*9)R$]AQK9>)ZS?4Z"L;K' M2; )R\JLD:V*O, AT, 3X GP!'@"/ &> $^ )QP>6:QNM-_>4CS*/.&US?YO M 0R)9OJC(7J-"V3HOB-Q\^2ZU.6D !8.P+(1U>8,%I43L)SOZFQWXI(1_,DZ M0]+FCB8>8<_#)HN!%V>0"UYT:#GM?>K3,H'&$SVF7$ _D6?"HB[D]X GP!/@ M"? $>,+CVL2>,S2ZYG]"/V!]RX?N6T\YVD[NUIDWDF,[0)G1OUKQ"Q[Q'Z'E M6P$>8._%,O #F8MK/F+#?7;84WY'=HCC'#^MUE'4S5/X &,<80SD'G@"/#GN M.G$9NECG21>?[](S[?-#^S/1*#QJW2!8#H6/@R-<_;2"L8",B,WS<+UKDP$P M_L,*=09)C6^5H>[KU<2V3$3]F:Y#CU @$KJH74;WC5.I6V>TFK6.U&K6525S M20BD4[G1_4GZ!FVBB>GM=3!MZO!6K0-(X1HIL'(&/ &>'#>SD5RCIMSHV*9G MAHJMS0W* "6.H 3B#3P!GAPW@5&4RFV+D&P/9!"/F9=X7#*(7=:E-1R_>FQ;2KHD15NJ=22E56\I MFPT^(4%=!7CEG*38@:Q-?4Z/T@;8\ P;6&L"G@!/\BZIW4A9[&K>FX>B5>(4 M;?(*6\ .R#/P!'A2(1VZ $_.@"?GNY[.@AK!G;*R" &_8L^P?&S"NCEGZ^;LQW[$IMZ" M2ZG#3[W646-/9(9T(T? @A0P\ 1X CRI(D^.54"_Q1YN+H>PO6Q@[WC&#,@Q M\ 1XPL\R=&+=VN)(MY[O*O-@OEV?,9. PL2>T)M,;7>&L1#%]P^A9XR1CX4' M&\%>?=YB^P6SV$4+5E%.I2^*IR>7UB41M@9RC2[(/P-/@"? DRKRY%@!_E:C MN.F(*J)8ZVA@\[C&#<@R\ 1XPD^0GTJ_2ASIUS->JX\"?3_T/$RC?!+M/\T$ M/&>DS_KCH\#R1S,A0*^";:$GR[:"F8 "@5:>D]FS]G[00Q\2HL 3X D7F;/F MOLP9NXVVH+UQO2%Z_:<5C,>N36E!OF"_?GW?C39EVDP19=K>I:DU.DU#I*EDT]@!PP%, 3X GP!'B2ZYEYA5H]E0^K M=PYK_\U8<'Q%-NV&5Q>^(<\8"XI4%V115LMT)9(@L35R'I=NBF"9*S*6.5>@6\S3T,/(#[T9@_3<5LV?E-) -6N=9JNN28!X M,$Y@G-)-.%VPUT[3S7&OF6K5.FTE2[-&$!\0'TZ-8HST:&)ZWR[5J0&*V*YU M-+W>CBF= $L(H@RBG)LH2T6+LB36.JI<;VF;VYU E$&4091S$V4YAXR+)-4Z MY#\@JB"J(*K%B6J2ZN-L5E#'V/ P$CSR&S*+5^>87# MA"Z"Z89/-N8XFUQ X4=R$E2@+ 3X"?P$?@(_@9_ 3^#GN?(S51RD[HZ#B*=Z MZQCN!-_%GI&F2$JM(\>440*83@1,H!Q.BY]IE,.> VWWZ@:U.KKA'*JPXP'1 M#\;8(W.>3#T\QHYOO6#!)@R%3FM%*4?H00$\ 9X 3X GP!/@"? $>%+HME(M MZ;GQS!.^6G6$W\(;$NOT1T/T&A?F:+5.4\VA]AC 4CY8-D+>G+&B]HXQZ])MU-E;D,+& .Y!YX 3ZJCBSE4Q2V>5/'Y+CSG M>7KWF:6T4O9/T?;V*2[Z]&Y%:M_\R' MB\-2?Q4.%X?<7W&IA]P.%U=DA1XNKK843M)^@"[(]@-/@"? DY/AR;'B^S2' MW\HJ,7N94^Z &Y!EX GPI#KZ]5CJ5>-(O9YQ)0%79XN?6>H-TJ' $^!)_HFS M?4?R'7:V^&9B3*]U6CHL W*-G73[7?><^Y;O,:IRL]:)Z58.FU_Y0 Y8 N ) M\ 1X4D6>9-NX7ZC1:_%A],YA:7_/V>%_#QTL*&*&H\-S2J/-^Q-&I(AK47BF MA[=J^PYOS>EL<;D=G2W>ENJZ+E?NS(TB4%12\KE\2:G: 3R%$*9*JB,NC-TX M(/: P[04NGU$UD$;5&,I"FQHO W5Q6,=@*Y(M4ZS75=:8$'!@I8N)F!!L\7$ M&Z=$9SEC7:%%[>JF7D@>]8*$@H2>O(2F$M#"SWY6E%I':Y*(>/,8!K#GH"U M6U1)6QQPO'1*;4'+A96ZV*K>2?&@+4!;G+RV2.?];QQQGI@]WW/V8@[V7&=GT&LB9/,R+;%_"A!Y)_G7M%XZ7\A_%N.>(._9R1,Z,E[?=N$!6_7[D.(PKK:']C.<@QR,N$04"^ M8"41%TNVO)_@_ TJ(>SGJ>NSQHJ7K#F^]8(__[3,8'PIB0SY*W?-V26^W8*> MR C"8/LM1*(D*-D51-T7T;UHL,K]I["W&/D7/N/'D8?2C@49D:I?(_HEF/D7<*E$( M158YD)QXVTDU&N5,JHA/1 FY'JN7N62-%NA59!"HY!$(8X\JV[_L9U.SUAE2 M*:<[0:ZHGB9R\>43ZL1!8(7TQP)IO+FY=8;8#X2K_N-#_[$[O.W?;Y7D<@=Z MU;\?].]NK[O#WK4P&))_OO7NAP.A?R-<=0>_"3=W_7\.2A_[ECJT[PX*38LH MSX];1[@N@4TF@,QHO*E$9J?(2&TT]?'EXH_/IN5/;32[M!SV9G;3Y_7':9L5 M5XPBT<]O6N%"C#3#O")L_N;YSQ?DIT^;WS>EB[82_Y-X(<5^O^U1DGPAMN)O MV?:H[=^KHI[?H)2=C]I31;=S4;N]<5F,LQYAMDCGM)E(" ?6J_"-7#7VA1[1 MD.:R>&[-*\NIJ/"8T8J^F#Y[S"5M&FT92>+I6T<(QFY('FKZ&Y%LFLFON*'2 MF@^ZBRR\X$(69:W8R4K&0S?3/APLUC_YO0?^A1;^3^ M5Z%[-;S]_79XVQL$?!8P\ MAPQZ8P=UFLF6DOA*-M/4B:_R\E;))I0JL[S1]WM+8OEKZ),7^7[7B(YJH&T3 M'SSWAN:P"%;>3DQ,G=2/A:GGOE@T=/H0TC8A MEO.1MAIQIYAFGIQG@?+MA6@Z[%\6UCRDC/OS=%[D%H^0N,93 @,K.OZ5Q(," M6CDH=BLO*]%?*7]UMZ=N;966Y&\;TS^ZCKEZ]FYJF]^N=92Z(FYNYH N715% MT1ZC602*5)%YCMR@*$]3RZ=>?: 6TZ=0()P2\*M! @*F7UVZ)(@#3(SH"S'$ MKC<[2,MRLZG]Z%KV=D&W?WI6@*_=GW%;U56)J$TQ\VEWT.F %U#L49K)0"%3 M4&36@1QV,>!3!ZY:++J^;.(1]FB;0F.ESX3@18TI6+O"Y*T(S]1WV+=S(FDK M#U4AD;>6^:P.<"IY <8>_9@<&&JMTY9X.2_B]/W$ZX5.M%BBC'5JQ:^40QC\ MPI31=T3)*.,X1*_8)U$3^?>*?&D%^6[;.B)16K9-=/8*[F)#Q5V/D M/-/#_1P!^3X.HISBHK4_K+_M )+2Y)&A0P^9T0:6D*[*$GN'K1=:#'T.ABZ3 MG=M2?4/T%NT*A:]Q].^MTYT3]W%)V]3+)^U:1Z^W=%[./ &KF-UOVIM0SA]& MFECK:'6]S8%?E:>EY%.Q+E8$B$V$1$I>JG2%J''XEF@Z)7/N$-(IO !E7^B0 M$"@IM:1I&([$44[SHF"\"[C,IQ,D'/\58VE^L@'\,':(ZC5).!)Z6V5:FVE=NG M6!G&I[:-,MP9%&K%'(YB%>HR<1D9JNT:5*MUE$V0PX%=%01)ZM ],4AT>L!- M%C,+/F=2+;C<.V)3'JVFL,'+S"U>7U+YCGZ^6YP ' ?]9JT3%W.!AUE!P!SN M8J8 3*O6:<9DQ"&5F7\=[6)U:(IF!R\-G;)#D'UMZ"&B;!S.VW2/*@<^ 7B. M92K&#:"D"[-U>B)3O=5NEX^CT_ M^&0(3&D2*T=^V+/H[5*KLJ3E:FG="3>4OYQ0J'5.CSD MK\ 1+5Z-Y@\>O=9I<@">TW='YW8NKC@IZYK1*3L6&=:,UA=+[]Z('"<'3:)$ M,VE1<$:YP4R&9:,=F$F9*&W11*D2_][;P#' M(!2WDYG3YM)O[>YIONMIW@7_+0%&/0Y$+_*P>0[IKQR]A@>(^L5FXT_L>?&Z4V)VNJ6+,F?85669RCE61Y].)82 M&&*Z=Z]5;\J;3FBE4V-\:MR'T#/&B.;$B'HEL1QQI((9RX]APKXIY3+DQ3(J MVHD5M'+"5MB_-L%]5=C_$VQT++J3\@D51IE&3-)L2A+Z<#2'8#M>BZ]#R&5 ME#F5='-[W[V_@E32F:62/CSBZ=R_HJ&-/W:]H!%@;R(0,GGN3S*+M[P2"7P( M"4W_X_(O8>2YD_B[SB'OE&<\],:(_FA "3HD]+S&3T%JQ4H[RM;UF,[R4'#% M!VSR#([F@GA#Y# ;:E@U !D?)^G)T\\IK6M>VW6>(Q5J$NY!,NEPY7E'*'FP M%+3IZ6VBMBD%D%FJ(&KV*,^\4--BB^*2?&);3OE4FP_KKB<]QTIPI^SH;P&_ M8L^P?%CT3)N+7_4B*$7[$4%["WK&@5ZB"U"<> O@:![5T4P*$;I&*9UBO[M* MJ$9Z$)E/\QLF8;R)/:$WF=KN#&.!,5!8+&H*="'E'#S.O Y[696%!4T921<4 MI01EY\#%Y=Y;=.TR?@B!91%?(8'54[ M=(?HE>X9'!,K1FAQXWJ)S]=L:<3[X* Z"GS3HY6(Y($:O=913Z?["7\+CQOU M(B/+08Z10[U(XO4]?D2C_'J1FP7U#U_);S7983OB9K^IU.FO\LM)*A*-L("9!MGV$P<,1>-)F$[8',PS4W6Y/,17!5K"-1CQ,W MB<0,+8@8SA:I28W%L9&:+NIHR[6.K-9;;0@[2FD_3MA=CTP'?N,ZVY?I+3$Q MWPX?"$_XV7(0GD\CE>KNX".3,*:6+85M$&DIO)2D0B(_.[[V M1+?'!9A:ZZA:7JA D@8B?IXCK7#F;.@GDQ+K2W/0%SE[&3SI\ M%):;L A@+@_:\;R9^%4(E4TW?+*QL!CZP;N6DT03^8_N](NE]QZ^DZ7 D@MK M%#_OU-:('YMSC)/7WHYXL>*V-+2;Q!=4-[N?5K9Z&U!=?53O/Z5]'=4I7:-H M9[BVV4\ "M&+X?TM82[-7T-V.J7VCLA&07Z/8U<=Z?;NF*/7(9]<443LU7Q[ M$$%&4.NH(B^(F*NVQ7N69"'\/GJ;).[N/X$P-#YI,OC^\'#7^]:['W;OA.O; MP=5=?_#]L2?T;X3[_GV#=>I:Z?1^?YU?LZZ<@LO<[S_]\)/FJH*98/E^&-4\ M$<7VG]!9V52&XKN\0UAZ>@[\OI-L7(7SY)9== MVX]VZ/P4O)-[O%N(C>"2K)#MCP0BM!JM;I'WJG:H7ZFTK-&V3Y*6'DI+?_3& MT%855J"?@W BW#@)!7/[*LVIE>D^5>@K8WC9!VD%4;RDBWP]^2X7EAE=KBX$[V)W;?O[B:M=JLKG%9KX+3L_]=M'ZDO377X?&[? MB^9=*.R_FO8$IO;!]A[M181B9RX*K(@6Q]TO_%E2G=7[][>OUM[/;R^NKB@[TZOKVXL:ZO8:A7MU80;BHZ@7???3MQ7%"/[\M._ ;C//VON_"7$D':4$7TCM;?,"W* MM)4LRKC5:74&^U^4]GMV?HK_E0;%53*#1X^+!FDN#&:SR6#6N*N[?LCV!]7 MG\7R=_@( 7;!'!<\3$#'7)W=RJS3]=<+/@LWRD"0H\@M/OQ-/IA>F;ZPV5YY M\2Q=Y6>Z9M0A#\*Y5&W6.XQU=U*G\Z7.P2HES\-L/.>0E@&.82W:'ZT*KLFC M>/GE:%1X/8(DK!?$7) D.MQY0>1P/!557)9S=E$.MC;O&Y9M?0(?YA%<5[A^ M4LT[%;;SK\0.$9E#B>_?P:V,K2\VW%]>P[H2C];?11B)Q?,H0GK.!S<&^V*\ MP72LEU]!-X*EN_>".W ?HV0^]UP1HC7M^G[P0#ZA%>-UAM)'?;@B<$#%>.K# MJ.X7%OF U UA$H3(J()K/+/]9 (^?A(2SR+*K>[1&081OA'\'N3L0N8N>!G< MV'^)&,EN)5>"%8F9"[>]DXSC((PJ>8'B$ \J\4D<_'+Q1\-RQ$3XD?C%%K"X M?"_9B,KL3(8:4X&!2^.6&'Y2MG((U&6-H_S$( MG4BD?*FMU+H.3F-PJ45)L=FZ M7UB!>KDE9Q%9CU-W/+50T\+( PN,!"O4&YM^C'DQY)K28D0?K M/C.,P\,'' M(//3NO ?7/@9OP(:Z%9I%J2^Q@=\E2K'_,/RV-:!+?_;*5X^1F0.)L6P*PN# M>"$VKD!U5^(AT"F$A7R0XI;>KV@.^&<1@DY4O>WK!^$R"J/OSC!EYFPUM /?UN>_8B,,?+.UTCX9M1O6HR#Y\03N!$[4A<.$\=YY<@>&!8C41-!5"]_X>^(+^-K) MD!D0DC $(80%B$,;EBO@C;KZQ\V%=49.-DQ*%4W-RZO; MVY>_=8_EM5M5D3G#$S AV2A1V'2GSQ(O=D&&TE,23^T89;?( M#I+ A<./EH_],/@5H9B0\HE+WD9M:^2K[L'F]=4+\7S(TX&+Y$[PQ.!Y(C6( MCP*U#I8O?QQ>= D/<1Q*D33T)#)K0@OW@$H=K@88A./B\<4^$/%BSBES/0W& MYA87T$&BR43=LJ <9FX4X3TB?B#=O("!G*&9'8H(UHL>29,@54W:<>DJV+CV MR(@8Z6'0!TM6AS<[<^.9.TN+AV,O6SJYOK 8K10.-'4E\>A(5E(5C.GGB!5]'C.;B\. MY_"0I#^"\Z*/$LH[&+_D(.(YD59(Z3Y,80.F+HAS* V".R'XXQZ(%RX]F!;W MGE!*#Y[%^_RH31"IJ(S'DF$WM=%6AKG]F]50:,]=)W61\77R\#7H%@>CB[QJ MT!O4AF .9S1*0FGOCA=CC[YB"$XD[ A-%O76N1VC(1.5#XAL='D-4%+ IA/:G(QPKKP5F[@BX"G+*#!\5%XZ"5M)YI48>I?+KX4G79+5@ M?H[>05I0I0E FSV KG,GI.10I5D-EM%#F@DX8/0AK3677?8 8 MO4.*+_@7: !PA"-6'/!PT%ZY1[X#;0 +!/N>ZEWS$Y54PM<7OQ]0"?.2XB48 MF)88"*:R<]*E5$?+#6ESZ:+:KP8\*[G3A(ZE M.O6?Q%B0"=MI==KY(JBS,9QA5.%PIL?'[$.BR369P$&E?@-5%! ]Z@/?U;B\ MO]LAW*&PMKW"VGKP7HY]W!S/C\^JN91ZD"\]*EK+WJCSK,NQ+L(Z%< -^S01)'&+#)WVQIR!__LEE,F\0K$];.61HK@HJK+R!U=; R E4; M;:-5+C=?EN7&DOP)G/."&=!XGM4JB[&N6:?,7' H2PQS<_5>PUKELB4<7LPE M3-3B5=GLFFA(J#(9*5Q/K./LIL@4G+&R.H*C%ZYAW26QY0#&8.%V$?(!V9S-GJ)3]4H?0HYR."GE/@<^F;)RH$R_V%[@T=\:0HP\&7&CY1&B72 M#>%"P 49MR!']PD-S49'2#AF(E4%J#W4MPG&=D-<(W8';/8J85@"_(0'G%9Z MD'(!)]QH<.Z"B+:+UBITH[]H> C9%=%8R#(W#B4_P%B"<"%]'?)\?#,\-$DH M(JB#[YS/+;JWI7Z9BC'2[L!HL6Y2KU2,(@!SQS6]#X/'V BKS -R%E%]I8:# M?-[,7EAC&Y/-"6D+^!(^+KF+8IN_(\-@N':A>'#%HTITB ?;2S@\FK[!Z*"J M\RP+B^S3!8G_'4P@&:.2G"04DO2"L8RQ)BZGO=3R,#Z;QASJ4S#V@HC3W\94 MC"I[01(\3\(H$25;:@R#WH7"I(?C+4AN[BE+@AYJFB4!SSH="EGC9*#_<#D9 MKS[8X-!*Z7M4^H54*#_)2=\ ,CJA^2^* <>83'2\*NFD:NTBWX,[%)*6S1XF MBE8TXZ I X03+\'SP$N&_1M9&M,HMU1P.77\2PXM6$/@)01^N"<(_+"&P-<0 M^!H"CQ!XZYT&/+_?U"A\257P5(1\T9[]*']%]+\OCF+O[ G%?I/>.V=C2J?! M??(U\,!N%-$M?/%7N.;_2F$T[2*RO=TN(MMOOO_^^]FW?R"T_>;RMZO+SY?G M9U>WUMGY^?7W*R)5^@KB=$XD2JOP[ILKXU[K: U(GL=9,OK..NC\9EO]# C) M;6,U[^SWUG;[_ST2UY.+B(.8:05#NU>R4KWB/F_WLE_MR(VN)SE!6_!_2X2M M6S*([E,'D98-PN(M?76GY-6=XJMI1GCK?,7HKQ^G0*;O$=U&>FF+F:1ZZLU'NL!3>4KL98X--$ \#2+MWJW"DYUQ MYDZ$\KVYQQA.$>,X*&4J,!3@T["2>> ; X4/RHPDN-QS6P+;T($L'SY^%7&, MZ!Y+"C)U-M!YAV_,T9.6X0:/AB?FL=!Q!<1IPD]4]$J"*!%-E0PE(S;.^NWL M[.L!H_*A( "GI$?V,$!5P>R4=!)_">XH<+_D.O\4AL!]'5TL%1P6 RH8#OKX K<4?DC& MR'(8AYY^B21, 7;..-RBXF0@@IXC,3D*Y(/G2:\3?.5$XVOZ]"_^,&N::X2F# M#\HS55AJ 8-%QSRV?RQ;WG1HY.C"AV4D)* &J,&CS?!P#!^EZ6L,+E"*FH.& MZ2)4-?AYR:HAF+N^U#XSVP>W%&6G(:,8AII-E V\A<*E=K'./Y,HYM^_H\WA MD$K@>Q1+]1&?C4*% $R*_*1?>&_Y F,W"(Q"? ;?GM;$=G&YLW*O0@V-\M0_ M1VX,:!=UO)K ;G*@DB &J.'=F<:!R/<)QQ#D21#$?A#CAQE93J4S=L0J'R.S M>)(H] MI:?C43[S?50&7 J <=#/L!Q6N]7\'[V>"V&'F">"+ZGD,3L?W7:#,YWO*EJE M18/3$SK@/31Q/10F7Z:'VUU:N'XCW=0;3K8H!:=:IUKG*=*QBI?\S<7YX99U M;01TM]]LX89V-W!#RYR+=K/[=MS0NVW=T*\((.;>P=_$V(/[FX(2^. S?6M\ M M\K=,DR2QVU?LE:]HN.6OZI)?[8)OY6OS2$T%\?0GA1 T!=:28L6]UYJ8>J M;,;4KPGU(G'>3#HGQCW#I13RD1)?'F4>K8%)TB* R_K#%H:2HC=J(I_;A^Y MA0A=O'[C#\WVZ(77DC3+X,4A*-EU:/>.^SAO^_X^%/><\^%[?P;^IY"6O\Z6 MDN6O(6@RDSFQQ]JIR-@+=[9'V=]H*I31+/T6]1I'@#AY&N>@38=Z7Y]A7\%* M"Y&@_-&^ES?_'7C_$Q<])O4WS#D*,@' 4)L(8?R)4^]I-424%K?JXYOUB2A5 MRU_6[N+J[]02]:HD2J*F=7-V9(:C>Y C1HX@#XLE@3==^L_U/E=^GV&],\IC MAJ&=?^NPHX8KI$$5M;GDO"H<$]D#SLSU70*D8&V&U@4Y*2B4.QE>9L8QK_?X M&7@"J)PSV3Y+-4S\9%K1>SN1[SFDN-%79/:A4M MM:#*/R(%WPA2+HE08X#-C%\2S\#3I3V_NQL!Q38,> PV"'B4)7+;S=[;"7B, MMPUX_"KA@^?![,YE/H:(D]%I:&-0LFJ#DART0B*:S]HMO#$H#6\,*A;>.,MC M,"53A\Q!"4?R,"DC=*XNNIF(IX'#=I%*LZI:9IT7I)1?YFN(HA8$"/4(\YJ" MBO'"4B=9#8J_[9+)/1=CLJ4PKT&Y)LXY^PC]I'(#:57G7A4\2 H*E6MRS">H M+Y6]W(WH.@T=2K/I#!N\]'/V 45[D##3^GUPRZ:YL5G@8,T]I[13HH$TJU0H M6[.=!S<*0E6>*U^AIND4$Y_<(B83BYIX#-27:8D5GDH(TSZEN'!HA)H:I="^6XE7\)@H+9YO&P;U/Y=Q;K9G\L PY2D%-I6K[ MZ'R-6";$\F@58KD&']?@XQI\_-; Q\NMZ3)L9KO97^$U54T!@9,H@VK<2!])A $TC]0DR1 &R(GZ?#OS)!@Y\ M69:]W1R\'0?>V=:!/\>NE[Z#_X.-A4&9X7E-^P65_SWOXIKH,/KBS-R'W19DZ N]BE @D9@? M3R,$Y'E4ZCE%4K;4Q0R%=IWXE(%?0TZ;2%>/-3-^T@Y#E[UWO"I45,">S\/@ MAP0'I[>6) V@ITE7-&H8G+ RI89A281.3&&F=.G,$RZ432%ZK@_.49PH)",X M=>Z,R DX1"#8K9T(1^*_X?,)3H>*T2.#KAAK5M-Z4H>J8#&4GE4T$G=HCEO& M3#U7/'")ZQB>[\9<,,VKAA?7S/8J"WAEX) D-7N4"V)F/'&^*LPCP2J1QK^D MFP7+3Q2KMO\74S%)1EC\A85EZS:H!*'(?\=9!'1:'B]#26@,V&E)/R$T;.8P M1+HU]5Z*Y6+$)B1ZO(4U]S#31H*34 !E,>>I2>SNC#,\$YE@Y>0M$PWS/NN1 M(K4RKE9$#&I3SMQP2&2&3*@V)F\BCG;1"- ,BXD^5<(Y6XQ*I,>7(ST;O. . M"*!>40-%9$?YC=@!HK?Y9=;O;'"9E<55V\WAV[G,Q+:7V3?86E")"+E?6A$U M*EFU4?&JNB6.W3-519,^F63H3*'LR2HZ9TWSA=34;A?9J&(7&4]?%Q&%QO2E M6\&QV5CBTA\"=ZSK-QA!$4C^ 9O9 O'XL)Z_QU.MU'.&( :_E]8(*?WC(X+/ M0YT OT=%$K FA^DP)@0T/!U?N#4(YQ?X]P%%#?D50D> HX*24]RRZ4VF%1T/ M=A+@5C.K8 )^#>XY*,NT]@]KEGP'FY]:YZ"\%3"SDICFLYL#8IIAW^ "L+J= M@=5\GN886W;H2'LM7B(R(.%;A20"W)W?86J+K)K *R'VS78R6NLV]I%1TE?3U# SS-2,4#!(HS0SD.L[ M!/!35#&*_8C>0L]'&E>3E ;_JIFI*)N*?80:FKQ(>0A<&R@Y6W$A% ,FW36P M=8KM2:\3+T&Z3R:%C2S(JJQG(:\KPUD**60)]CNFMR89$SJ5+TZQH1C-A,VW MIUP=+BK3A<0_IG9"?<%5 C,E9$(917OA082R>X;V94,Q"XB+^4^AS 5Z)FZJ M220$ VQF,J7Z9D=N+)*+[,$V^>W/<_G-M38-'E&=?DVSH\]K[_W]2T5XMM3:/RE9LY.BM7^9EOCN9K^?5,Q^-R9$TIU:U13XT0$B MYLJ;N&&$P+^&_%>0H*J(7%#4>"A=W\!Y(%PC%$AY3T>''M>@O\]C@X'.0.S" M"S3+V#C%]FCV_2CC3V2B4_G#2PR"-NH]NBS5;%F51D10+LD4I&W"ESAJ66)QYY3)RD>%+A;Y MVBHV)W]4M>4:*2Z8.=J*)W(.=D5TFN0>)-W$1B,R?'$%]EE4FJ MSM0X0Y!2[([=.5VXBC:?J%:QX0$.PH>CI/X ZZ&)9%,N![*,I>V41-I\UL.3 M9OAF4W@4^I"J\X;M;& 0I.'HE.N2;V4I&,?\>6_VT08W>UE,JMT\>3LW^_WV MA;1< XB8_OC,=RX48'_93=\I0:-W2IB.OIK%A?JI.UWZG:HQ#UUSAXVRXDE8 M AZZXF2=V6-P+<$F;QB?(CBC "4P#=@Y"D'SYQL%4E;?R##)JW]"'*ORH;FW M;VX,9%]@X"MDI!'32B7(Q$AEI/D=!\O8OYN^MW[3=#"7!C@5UN,+4L=\(>J8 M,P*2'K ?\[*=TI/"L$P1C>%32-4!9>@B;4S!71R0?L4?+NLDO;3K_LS27_U-#:[A?BE03JG%,KJ(1G>8QVNB4 "- '2;B M)9RBWZH(G")5<1&,Z#=S3M>4H7UY=[>B& J)/.RW#D@P:%F?L?.\D%RVY76T M12_0#8MNGF[[1/[>$B0R8YM!CI-9PA%8D^-% L-2>FCY8M(-D]4#734T]N:9W DL M#J@\*N6)19;D1M9TCVU?=NVA;E9WF<[HL@:741176$W M7=V(*K]J.J\?BLAU,-7$*;XM#.\7U=!:?;E4U(W%^5R.G\:P9,X,I95#77<" M1NP3+DER7@=8+J,2CJHMF7G1*=' \!>V$Y^$7!.-^&\L U"ESEC"[89P=K K M%N(W@O&8UIG@,1SILA6UMPSGZ%L%@31&[ [VRIQ=H;8@C?%-RHJ\\S. 1]#1 MII0BB@\>_(4D<4HHU$?=I.:R6Q@A*?7[C=6D569.'H5]YU)X$FSN?DWP3DKA M>F[,!6CI]_ S^K#@^M&MPT/$U87#^)?P%DT<:1-/F5ZSIT_Q/DP5\[#*]H*Z];J<(94H7!2;_PX> M02!#U&2[S_8%]@//$ZE;!,-- Z1\I\>O%R'==4_-NO"E#18.8^$J%9WBH$IE M'L[U3-@$8(A<- MMI#+C5085RA%Y<_5PUYZY P-2FB95,_*U^>>N78,Z7 QV5X0@7)R"S0M^/$" M99NKI.Q8YM ;1MM/SLL$Z$:5"%R.',:.(8FD^U-4^2D7'J+GU*U:<2@@CG8<_)WI#4% MDU<4\;*MB<^/GX)AES> MY2/;)3<2"J@I>W88(S4Y]@BLV[#DF#W5O5/^&HGZ8&TS/3G,6O'.6"F+;4\B2 M8N=N=I-,5QK].^2,R!O#:-+-;>_EI4BG!D/T\=DXGFZ([5Q]X!*P-9<6*Z2 M&FAP%"]LA)@7]8H.C)6=?B..Z)?9F)'NQJZ"+1E5P:<:#*-DSLK >+^;+I+3 MR']Z&:RJC#]1:KG4[DWMPD3VBS<5O:D"92ARP6W)$#V4#^]&O53HWYJU,]/B/IIM\IA M/VMQ(Z\']N-N6UN %,)_X!7Z.X=>T[*"I7B?$O!4IZ2,D,B)_U"F0"F_P&Y MGZJ5%Z;X@U&G*O@#8_&-C:V9&S1S VS5 7V.M!82@Q6&?SUUP=X/Q],%>R & M%8=,C>1+0$'WHGX$0L63)M46_@RMNO8L6V]"^Y@(@^R0>\\P1:N M5%Z6A!8:W.8#WB5^\=-8=)C_I23GIG_*PDEZ(_?>=6&M$?1$H<6$J3*1'UT3 M.Y#]'Z2=%A;E0P_NT%07LEUK!".6'I? Z*A@WXJ8MKX7QUT8HN0E9QX,TY*_ MP^)?#E/L;T(*%"*Y.W2IH$5--[.R40UYRG0?:)&MB.$I0HBA(- *LDUXL9F^ ON_=K[ Q?.AR&Y\)J?Z#[R\[IK\3G3D/PT[^2 M@*MNW;%,@'!).>\ [PP+WYBJGAD@E6WBHIA0=%!;20:W?]DR:EB)A>N4+UQV MM7!M(A?>;(=+5J:PGHV21Z3+N\GSU,9P=#]D(()\"67_N24%/EBB8N$L9Q)/ MJ?I.E7I#9:$T$73 8"#^Z=7M7[=\_\P;"!<@3?$N@H3?TY[EY@A2RDTM.?9%:*$B[%(V#\F:PS08UDJ.?Q8R%8;*Y>F MI#%C]<_$N9?%FV>$1P:Q46R>CKA'G@;XNOH4S$6$8S?B/BM)Q-1=_"[*T6;2 M\@Q;BN*"#8B!TOL@5.D.*2\XA!S[+']!AR\]^J!L6)7+Z*07B9L#A\+%(0BK MBE\.*$C*:ZP9-$I$[I6)VC5#:@M+I_ #,J;,"?@LS7"CC#W)^.7<7NC?9!JQ M-IB6B5F;)O:8+IR&YH4DK( 5/=KS2%OCA79B07DG&9/#^ EC5@3\N?ZQ)4#F ME8S*#QJFV_3I9+2[9;4RB6^9@2JXLL**BLV.[E M'(A404KWIL4LSW!=J2;D)9[HZ_;@+*L"G16&[ZWRH-$!F!FVZ+)0#B?;6%\^ M)]O-8+@!VTV[K#D?_'IM;Y?7$Y/^YU:EJ.=ZJ[ZH\_9-P+V$HG@]N4$Z%*I- M!:?C-^1._@ROBK[)",#JR'6W)/[?;14CU_0269J*O@V]QZ(76>I-.X6NZ655 M,G^0,ROP?0F-)! /4EE0=CN]@T%I?0O&H'L)CW8E'JU_!.%?"J2"YPT;V+F. M:R.#SMGL+L0@S'D0SJ4X5#,*S./R5BLTL0M*FF!QFJS2X9THXJF0_"+HC"?G-IUDR*JNXJZ*"FY!V,Q><-T)B MB_2FTH8_BEQ5R)@\5@[BV"[#:+!1*O>+( ^2D$J"NI4S]L?G<1' GN8\#8/D M?@H7>>@&X"([Y$T@UID(F*DQ!8=>X4&J;X65:5DQ$[%T*8P7Q8@FCKE=AAZ2 MM,.8?5_/;H7$2H01F$0VN^RZM;H2U0SN"A0BXG^X%;J4);5L1B<-PB5-!+%! M\UCT8VV"V7-Q0UIZBA@H1I4O*ZU,.8H4:V$Z9H.F2.U[>B0- ?FT;$RYOJO; M=M663*#91J^L"_!8PT.W.]6C%:=:S8&.[%;=;- +Y*;N9>=VR MEMOPVVHU;,P1+Y!R6$.P,.IU4A3>(?$-O#LUBT**9^AU#DJ@\&>FK)6+^T/B M#E1(7UM>/Q@Z]I$E4])5RE]341:6%;F1BE1'XV N5.6U_CL2,F(Q@$HK2]"\ M]4Y!X!O8;K)B Z\(DQCJ+8#8HD--K5%H% MA;'(*G.9F!(_YB#5KDI-S?1/!7M$39*--,5?S%D%;%SF819XEH#QE^D/,*=+ MB[*<:?H2?3)J0R>H.' "UZ&JYN&Z (YX48\Y27M =4F2^H"1%0[U#HH";2_D M-DM6R+H&3TO'HM3?Z"UO45XYB[=([Z,;:13N(Z,I$_J8$VI;(FG*B'99\>Z(\4U+'.GF0Z:TC9(FW-(^SM0"6FA?I/) M+67Z[K'=AYG3_%,*GGKV ]:WZ^^Z8 Q=]=R?<\"=@).(:3/SK ?/_%GFD/.O M7U&=*+/O9:_.-$.240:XV[79D_MJ=:&0QFIK1*/LUBA-(Q0_V\]5XHLX9W:1 M8:1YZ3.[E'UN< ?ZQ5;EV<2:P%^1H2C<(9?"_/H T-^+HI27E'S*V"C )4S M;(:MBFEWJ8=:EG-+#E'GZG*#TJ&KC(5MDFE)^<(XI^L(611,YC0! S[BM^$* M#;#+V:,\U80>&',R$TSDNR ,"1+)4(+, )@JA^I*)>1) M9.3@3V$:W%'Z7>FJE!)[9.M:C9D59%9R>KFRKMV. I\(WE0+%P7,)'6JT%/\ MVT"YCJ1;-?>&CF&DZY4M$%\?,7I A,J2Q42\,%#0UU>J#"_SQCQBVMWE3&"'GC1#66420L3'>7 M3F&E&)E<^2R/5=7LBN17AC:,W)%-U6=\]+G]IG*D9W-0;WZ<:35O M<#^.5;TU(7;%W$:EY2VR 0(%A*#>2-Y"REEZ#AS$8LUDSLA0H_A,DNW)Q%5= MX[%#Y#1 Q2F%A6T U@1E \^"]/%QA635;(9G#TXY9X<$V0H&9T%L_Y!O=_TH M"6=20)E[$E* TL;8))M4W=F$B%A1B[=&#=25RX^0I^-U*:1 M.?JW*CS%PR_5BHQWEF%-O,H*K[JC27M"F4IJ'4)J5.+$V9)?D"24XU MTP-3Q&VO M/)#2?SN)6V_;Q.TG^- #Q=27YVU+EJW;*^M>*X'BWU!?W"!0_$R99;ME^X'Q'P1U$UUZ3_N*(NYA=.U+]6=R67XJQU] 8=!DG M$^[:BGY:X"-4;*K,S!#T8XOV?T%R:# ;//6I!=#G\@!:P.>B#F+-?CWN"WXC(L>392^S>* M C01A:)#72;834.PXVF"MY"3Z/("1:8YR1T_Q2^�&9P3,_A*R=K ^UISGI M4X-M*IQ[89IX8>*MQ7JT^Q4ALS!N!Q+W_X;9P"0.(&Z6]9F541$U2'H0JAQ$JOV!+#S^>V14;P2?;RT/SC37FJOG&20M&;:-Z4(O2*I9)CC.V1Z M?*\1(3&8!(AU%6$D\0643C!J6LR&#"M(A0/1@[PJCP>X-O<^HO(R?PB'>G.T=K M+WU^RG\MW\3A>97+&G/VQ(R:&?SQ;I36 .#U[V5&[ZI*[30"KI< O:G8BJ@: M@.Z3>>"JR@JAK$8UZE)C1?T^7D3HJ!Y9B M4IX& 35)F=@:R[5(/C;V2WV 8:6,2CA! M=P(#'$R(-HX5E8F11<="0)DL7';5E:?7"^92[N*2+5QE@CP+'TE!;PB$UQR!FC1JD)-Q#, M?$G%R]BL)!.%\K=Z%]AZHMX<6$/@V*&3_Q(9):E!$G+Q+&Z"+V*KV\)MQ7^= MM"P$Z.1[>,H):=R:1/Z1&0AFFJ]:+^DQ$>)'&XA&WA)?(LF8!FR%#?C0< M_033DL+B"-T]!KL>Q3)$>(^"H?H(*UPK0R]OP,R=,W0'NP#Y#I5=3P0B4EU/ MMHM*US /!Y""2J/PV&@N/@WKF$N0!!*I(A]Q2$'=T@^\TLQ&7TT=<2-U1(5/ M'(7.K'LON -!T*5&% /T PZ^I:T+QA:8]B 8^)C;J'M,]0F,- Y '=QPU&5XDTB;@\LET-5%T4]T#6\^4_&8- MN0159WMFRS5]TZD;$!XJ]\MXU:HOIIMZBY\*;F)P+F;/2KI1:J>_+M*-AERM M\ZF-+ ?.W'B*NC>D<,($+A&\ 8.0-W("1L._#;L5LSC)4 M[\"Z';AQ[V>VV@A8L7W&[][DDI$,7@78O.Y&*F@=QL)/(_L@?,*JB7",1/1(D+R1+/CZ\7_7/_WQ=GM\RSO5O;0*UMPDLZ+LYM_ M/-_R/<=BC7JCSB%6:ROSY@_P>LA0?#WK>JA[1]W:J?G;O \1I$NDD6YLW07H MG\YD1 /]R&1 I>?6S4B)EX#EEH&.QC1<1A30>:6?&B72!I/1PR"7ZQ:@/H6X*4]N;<-S"*<8Z7H^# M?[N8<\_%=4G>J@G:RC1=-MF&'-CHLS-L!YGTX?AA64LJ$=@P0[G)3&*RD)3M MF*HM32=S6#9"GCJ3F$7^7M:GV4B?EJ;]4::8:XVZ@:@C/Q&"NR)SM9,4Y)EF M,A+4YC(=-_)+ZQ+4S!Q IK]FXGP4+48-*)G->(6:DJAE3#TAYC$7*(&F0F'G MT DI4$WGLNQE93%!'>3G04)!OK4RU3J@64'?@#F<'@YN,ZCN@ M4*&*E*<)_U>D))1NL'YEM%UEE<*?"J%71@NO "#8MI0#@0\!L6++E@<%%GD9 MF2:9PZXS) _$OLR<[HCD0Q,@5VNEZ -5VY!-Z 8,< 5R]MM^)@&CT"@:*.$( M,@(9\.H\<+;'F)$TEV0;!XE.S$\0P9*%!Q9"UR5(.(KD+.B&O?UGK:8I?YG8ST@Z%8?!BL%3\* M[T$H V/)UF8Y'0JO4[-5K]4<&L9[[\0B0-,A_SJ-,*5Z_.R#M4BJ<4B =F.S M+3GS%U3P"HL*7PYTXBDJ 7_G7YU>"OHOJ8PI3@Q!O:G2_@J:,S-_),(L7G3] MZ-'.GDOJ5,1J(08HBW3-#1=6DM%<)7M>6>/YS*P2L>^"!Q9\[GE5BAOL=@8L M*,3;K^K M-RMUUXF]3SU&BC5$[=K'H()601CFUVEBQ0*>D-R7^;=%S^XY=>2 M(?Q)A\2- P78HB2A4>-0IO$#;H?FWP=IGX=4;'59,T[HSF:\M$969TJ<->HL M9P/8-(F\M!&^+BVBECTC$?$ON>862&D0U8.!FM*L/H8*4*7RY@) MO4KBOA 088<^H^)7SLET8Q^754/8LAE4@@TLC3ZPFXY@[:IEAB&;#I?!N]8, M)O78TRTV3; UO"22!H6FDAF/,)^'YAG-+#=[-=V$Z8<7U$++=;9Q@G-.UNN) MZ4@\E_4GYQ_0?3A5 M:7$=&%+Q8]!$^IA\M9Q6*X]ZTPQ,)+@FMNM)>LPD- + ")MR#7P4'('$QSBE M*,E=< 6,7C+C59I?C:BW)8,7[D*>JLCZ,7;V0\G_\>EH/\]KR98J) M^W?KM='1<]N7;(7F4(,T!&ADHB\5H1?3N>:_YLHP86GA89' D.;&-Y5.+98- M9 WFNO@=]I)S^CR*#<8PI.)3QU'>B)P)+%V,O#)77W$U52:]++_-N7"=NIMW MN4]JBJ2M&#/:[S6\^W.V9O3/ ]>,5HE79/3>NA'<0/DR96:M!JU4ABJ6NHP2 MH:]9GK',4-\GX]3)T486R.LIQ/>W+<2_ *L4M%;T580W4[ASEY;ACTJJGD;% M,OQ5/G3)(_#7L EJ%-:[+T18 :,AVQF^3Z-:$KCO@)#\#'9-U0NQB4*[(RJRWF#43JN1V-;-LZGCE'9G_J5 M1C/O]1,X7_;-E"T\\1^P_9NC%P7+;A#$->;;'DY0P[0W93%"\3/YWU#G-HDU MHY\5?[0B:C&"!MQ+FBR8D$BU%O([3)&S:B;,A"9MF)3XTR!TY?Y!;BCIRZ@5 M$9R/)FT=N.;/2J\RZFQ K](IZ4N+OUY+._=ZM'JPK58GI?DKRAIL/9JC],QK MDJ$SW[E4C.=?/9@"J_Q4TY?HP.Y)69]?D+$FO<0RW[*;9CXI95TYJ1[KBMGT MC8Z9/--C8PE64X,-VZ.*$*^8VT: ^I$*S% M5%679*\"5\Z)J-=GIE8YI=PP:*QG@2,\AL:QST^5 MG!D>JXR.5@5$+CW7SW)J%:BTE+,IV:WS,#?98Y4GJ+A)W# B;K0PYEL/?TD, MP"K=S-XY#'DBW#B1-Y-\B*+>IKPQ\:K8H1!8**1T>PNZ8WZJV?#";\93P.,2I<)1J,HK5J65(@% 7XS M)1Q9U+?.Y#\$>.,J?$$Z;(G>S'S6I%_C,?$'D+NTB75LS*6FVD3K[Y%AA7TK M%JZ@_,!5H.8D>^[1:FA.1C_M'2&1"2XU/T:((KQ^=;CR9+-+Z2PM/O]UD7Y$ M DO/4-[H/W]P[>M7&D=[H^AF#\SV& X@'HU"+]+4W,E(0I; *"LY"EBU?)$H MV"40UZEJ/DD:&9!?*I1EPJB;%^.A8TVQ3)VI92 ?$>"# M]@QVV5?7GW.],O>R_I]0\F,_I?O=6_Q5>=_=>-M MY)Y1"]@].NWT"XVW_P^*&OFQ('^_VR'\ YN\8P]N"]MOWXAY+'N_M[BBU&@& MG[$E7-]LLT'=U^7RPG[\*N#8^FEO^7WLB3I,JT6W>WC1[5'BKCQI9L.JP/F+ M[%!S(:>'OLIZD."VLF/]VH"%VMM'2K&1Q>-)(&8:BY$Q$;+>:7_',)T'7!C9 M,R2C0D%D7?' _ ?X957%86;KP'2'4:A68(8R+;#*8MY+VLS;JNJR*QG>* 6% M-%-Q@=*7&;1[GCN9:"TN;P#J&C8QP9ZDKO5)*YLOA6EFS))AH6AR;0(3\!L7(IFLH: :H^S[;.>?263TB1C;\7C:3.;I'^S( M\H5@E 8S_[M8BFF$74K\+VTGK+K,=8DH_$LB#X3D!_2_UN%EFE.(&-73L37N15D3 2AD11GLQD[I# M]!3Q."_DGV/[AU'\!QLL)5M:GWF3$VF[51;0SYP==O?93O:ILS4F,I-(-0SE M[^IQJLX,^/XLJ>;M5+]"ST4XLE4$GAP^"[DL8&E_A.6M(%X9%*F\3UD.R;^^M9=DT"U-TAVL-M#^LS:B_22ZWA%L7?[VVD.+UY'+GV^9R M/P1EVIU="/MP;%#.Z\DV6>M7J3&YU], R M@:(YXJRXH92<'9(UN(YKAPQH1MT[27Q:4$3=\MQ-!#+J\N_'-\>6$WB>'396 M-72/Y79DDDCBAVQ=$\K6YQ)+(6V+#*J?XT2LZYD3JE!Z4/8:;$$JP3#9MRGD MK0XBXX/Y_0Q7H0]Y2%DBG^_Z^O'TY/+):O-)5H[(Y3/&27WQC'4KEONO:V*D MX3\K>Q?AG-(S8=W#I<]Y,L?WL$<\X&FVB8[OE.K;W=G3L MO[;5L9?4+NO6_K%4A9;4__6&9?TSJ>_6+7)+[P2$H8=62;GF("^RL1B39ZZ2F,)N2$_D4EV.S^14\:,0"IN"[>G1^]8.![^-[A+929YJ2Q0!PY(I M,7;!I03L7+:CQ%'=4==A@P=ES;JHN+D45N';#*& ;^'=E^52D#T? _PSS52* MNP3>4*[23(P%1!4W ]\+TQKFFL@>LWE.D ?RV*A0,XX]D;V0T7'<9+NYM5/: M5D]/)5L,Z2K6DC(K(DLX07$.>4M&,BP#ZZ0[AR.?"SF[$K&OV3G,:!)ULG*2 ML:R(+-GTLLFY$\LE_,T,;DZ8YE^"NF[:LG$Z#BQ*L.B,/TXA&/P++2B3BLATJ7:(Z2DJ,4$4>11Q6Q&K"D6T(]3@475ZQ9 M3SOS/@UKB9((!Z-*T<0/6S]>A2TUC[ M!TF&[)BP0!8WRJTE\-V__.#1HY:>*.?(Y"X\\4 @K;1H1$;ZYG1=RZ:T$LFA M^TD2US[(L<>Z(%<1GOC&42'%(GPQ(=!UI'N7$".]<>')4[-S&==3C+N3]B;& M77E[],X;:H\>;FO<$+E-U\E>IU41\#/* -[$2@HL ME!,K+:(^@ 68JZ[-D\^%&6F2!!*9-L9$A:'YRM)ONVEM+ *,@_ O>-Y8-%6D M5'%3$>_:> RR*TFHW#PT5A%1Z4?KKI#J!4:Z)\5"4&[<8!6-F+B3O@CWDN3] M5+4FYKWFD&5#;4*4.14)#'6@:"F=3?:@0=DFRWDE'6$LFV)F'MF0\0LU=0F M-2X%N@5Y<&-YQX9H:(%AN$@S9'"=2V81B0!VZW3;&QO1P\,XE[84TLTV/FFJ:CY0KR&,1LFMURFN>EUX_C-.CS!Z#65XJ,K\ M[(["B0L2S]$M=_+OCI([EIV0.U6Q2=- TQL='I!N3;P7I3R2D>1Y"&FC4U<_ MI]Q2C=\=5$7C?Y6"UJ#SQP;BA9*W _C[SVHM]C:Q%LL[ MDW?>4&?R:%MK\4H\2GY>A(6&@1^@FT;&/EN#2VW"DKJY7DG=W(7T]2?8JIQ[ MRITYP1S/ZQF\QF&_ M3(F72/N'U8.BCK-WD"=S,?2ROM>E5#JX!1>05W+&%) M.ZU.EPMC'GA/=AB$9ITI8OV M?4[61Q57[>SF^P$7#<6NV1HVJG!U:2:/;QHB]8ZOU\ZH]?Z#=3E#IAJA=0=_ MC$*8ZIN?4H3$ 4HZ*RI>:I,/*&:24PM5?Y0UL"9!%M?"/J#>V(@WEBSA="9H M*1.CD\!NIX_**]&2(1^(^4WP<]"U =F0CTK9M$-QC_QY*:V9-FP1IC\QT@N. M:J\UL_\2(_*QBKM]?OWI]\-MJ'+B! M-& ANL?2R4(SW!,E8F!A13][C0D&/RF3@58X*(A*)=D*FNP VJ@NB]BU+*)? MET6\\ #JLHA##_2J+HLH=R1+T)KPV^Y*BJU."1@1?SVLE/N)K7'BB.[44&#$ M:(YAUUAF52F=&O@:7$"(:GFM@;TTX<0" 2]4ZE_"LYF11)D *55J(\M'DAH% M.G[MQA['#76F5?X%[1J9#K4=R>: +;$-DW!J@RT84*24408%8LJR7#-3D5"< M'M8 &PXR# /#^=3AW)$!4C-HH:03K4@88M@M@ M65=!;/U#Q"H 5K;-FX6TUH(7#QF\ZLG@U=G-KSH2PZ>SUVQU&Y6PRB7T[4:= M?DD'E88;SC/07/ZX_-"%+$'^Y$;V_3VXCKP[1L#!>G>3W,40^ M#=*4'X,E'US'*S+Q"A2: \8K)/V^O*D,I$SVTDKON"A.\[<^][#3%$@&.$PU M"DNIJ^&3FO7++-SAR](1U-K;UN@JR::B&-C2%*#L:$G"E:(2J=P1FUNF\1-< M6=4$;_E-'& .+:6ZSO$^RTYD"?6*<_1ODV-[(2#K]BUP!2JWBZB"G7 MQD ,6KIJ"9>LE)5[P\7D(;+S:* FX#*P4BV4"$IRV5;PCOA(>&%I*E7L#FD M8,O:::4P0$4#*B0H4_60EM^L%DX&=[M-MOMSK!?C?L74< 7_M26N4;:8)6C43H-W7J/ MQ&)U^SLLZ M!TO9CZ*(]PQ[':MNOHC5X\VGD'="$=)2#:ZJ;@J#0>X\=,,T%M!$=-B./>=# M%E#O9/C /9\ZPB;+[ZHO(#8HPI4QGM:0*)9TQMB"(3>&&"$IW++R/H![B%HR M&&L492XGQ[QFL4VQ/PT07'(/?I10;6<0&94N0"890'5(Y)_>8QN(*3=&=_U5 MUP^#H%BG%ORW:?"(R"S\T-D\=#V&AO0:R\[F0^#!'6I3I3(HXG?XQ^SI'+7> M2PS/'(L1J&):HKP\N0>$!;[-=/U ->C1)#,0,L3K<&\=C^JYI]PCZ4\NSI;] M'BDW"N.032Y3"5RI:;74;>Q;5UB?ZKO2R+L779=NLW52#=5I5NVHK.BP5Y85 M33]99T-79$-/#N==J/:OJ>4B55::WD)U3+U(I331_ B M:P%&L,&YFF8P?4:7M8;N3D::G5"F'O*-B/L@=!6]NWPHJDHXS!EOALXWE^L$ MXUSM0$.7AN( 905NPRC*XN'XL%2R]@@4+?SD8$E-3,!'^3X[O?IRZEUJH\(8 M\>:(DKM_8M2&VL+_*T$2=QF8B:=P"% 9LEN5=DX7;83X>#"-XSE5$MGOC]J<-MN!(A& M.,X479SY7",[]0E.66[ZDG4HSFR=GY#W!8SNOV2E;^[9Y1T5N#<)FRLH&:\# MO&F<]*VX%/N-\+9;K4U"O&\HEIMLW2,@N>/RSOCB83VZL5_29:'?*ND*H)]J M\6-W BG2DZMD%JE$R,QVJ*-:VF%;P;%-A@;? -0CJE\G98A8$OM^ZW.$YY:C M5(#$N!5"DQ@]'RQD'# MRL"H8*D;FRDH71-=R@1A*1*(C4WYS@O+[+4/ X5+HZ?\LZ^@GETBWKT-D]F< M$& RB7<-$_K5O;=^%782NY/$@Y\\1-G&E;15KW_]]=>S@X*YL#R:1,VZ"P/; ML8BEC8XXFI_HB\X8.A>Y.=9_QH&I8I19X+@3JI-6GKP#UE$4@_Z692\&NPHZ M+N=);/VG/9M_M/X>W$6T0^E[5)Q=MC52C[ST)[*=SS>V)M%#'Y,IQGU@J+.G M1[5?X'^'Z>V/40'1I/YLD]3DO*:.RVG_2/5VLCA(3TI'FSB2C<.5$ORABR[+ MJB++2L4R00 MQ,> #X%!5_T=T(2]4>0%JJCQPM*>0+Z+I#EF-0/F!=;[0RNIT[U8FN41Z'=S>)B MW%'U/-R2<#($AU-B:CG'7B;,V[>9U!0$PIZQN3=.O#B1Y<((A8O6PG1K4"Z# M<@.$R): U^L4GMQD HSQ%.X/^!8'Z\F4UWVCY44N@]M"PXQD$Y!'Y"M MDJ(?E)2%6PANL^Z@]W$IT;=(BBS?/9/EN]G?P-8]ESD'^H&8+)DDJZVYNP>I M[0NV9Z=U7.3NAH7T/!P<,6BZ1&"F\"_<]WWRZGBF4G+=,$ ;U5ZENPMI^0X4A(C40D(A0728/$ M);K)R&*Q3L- R&,0_D61'GON$BQ11SXC3>AA_(Z#J82'4A2!%,M$EU%6("!= MBV).05(GQ2Z4D$QUV20+D".0$"OFDJP.1:1AJ(TI)$BOI M;*NZF#/$G=BY@Z40UL[G8%^:4S&=<>W04UXEF.SA#A^4[P\U^BO9G&^:,NH2 M@^ONQ$650N1$D;Q74-=\2>=WQM,S?H.9E[(=.<%6'^Y(VK!8)8R6&QC(!:8. ')=8&ZE\G!5F2G.0*'LB(=-3YX1* M&O^3]'2RR]#,]27\]$%_O[(PO8U"DIJ:+]L5G7C9[N2^H#"HC9$0*:WA;7VQ M2!8RIGE$!H)%(\\M7/9ZQ?"7#[IFTBOE_,2%[LQ9N^D3T[D1XW2 2L!LAT[6 M3";^C2]%TF+%XR<9^233F6-0*!+]JVJ=JF/J_ \#CL.0,@'RPWM1^Y8;\V0G]-D+4F7'RD58?M="AX'DPFR:ROY@%F&!"E&8T(& M \!X'__E!?>R%X//GV!LH;S3K%B,ISX MMM'HKT M%E.6@VX^.5FQJX1KVO(R,WF2*5!HU/S$V->@!PYY^_ADN:)([SLML#:F%)&M M/OJPQ55>&OJ5;#LJ<13"L)MC[&PSC\0']8^/2.+IV8L/KD\K35_ZF'T#IJC@ M.,:@)SSY$GH?_UGF6P:=X^%PB"F7.(3_=]2+93;F&';NE^+OAZ/CX6!8^B=P M[+;\_6#4V^H;RP;5'AVW>R"_US+M^&SA77]H$%]E]WX2^G:(!E5FQKN9G0_QU2;C;4 MRNK2W$E M(8C8IA' D&>Y;MP#]MM2VO\Y;9M&IOI7?Y M;)=,9[NU*]4:;_$H[3.,>JEWDS],[N8M.)<[G]U"7)P^BX4\D=.K>C::T>7[%ZQ V$ M/V""_X$0IAN"3PQ]. 1]V&B-1F]+'5;ZV-V&5$?',>-(5O_BCC^; EQU%DL6 ML#Z+NYQ%CF'S)[_I/=W^1(Z.3@>-UF 9\F);CZ(B?D.E3^1EFJRJ[\-7? :- M3-N6A^Z$W()VNPAMK._!9RO>*LG]U5?@*SY^F2N0=G?;2UN?0([= +[_?I&?#&!.E.AF;F]V#DN\[/=A>^J>@RE56K^0>[O5][> MK8]D]^BTUQ@,BI=B =%2WX=[.8U%,&@6-VIDD^H;\Z7.ZMYK9DH/*FZ]\9NM MSVKOZ+3?Z'2*T=3-SVI]I+\UD.XEULO=.Q52)E]N^;2#&Y&^RVOB*K<$46RDJW/(2(?FHW.L->?1V^ M7"@'EKFY+TNUOA4K]C/@[Y^A F%/*U-%)58!':;PTJ6Z[$IL;TF,L!ZQ M<=+:%TQIKU*PL_K[A4H63VO 9DMY@28EXHU!UWLC7EMM(P@$/0#E/&:UE/TO-<7UGF*OF=HP4XU@=S_W;B!D!3F0P<\?6G?#% MQ(UUP77^O86:[3NA.&O7MW"NZ5N9OG58T[>^\ !J^M9##_2JIF\-2NE;NT=; MDE9\IGOA"UX+R&CHR[;#_)M\]9AVZ"+D2[F>E-A22S@LAB<5Y[!@G@>F&B>F MAF2&7#S_EIU(R\A^2GF+J*GY\&.T"67/RFO6UK>FR=2$?$:OCXOBI#W8EHNB M/SH>=KI[XZ+8[DFKN"A:_2H.:O 4@HP-:_^V_%B5B2$^PR$F3H@_\"!O$,IX M0W/_DWX0#LW_#+M4W@OZ]X521/33=U9&7]Q)=GU>891K+V0KLA4;:^?G2P%M M\/U-'?F]E?(^T_BJ<4B6A,UAZZG%YONG"?^KX8#XO#(^L%MI^9Z9ABKS_?WF MOT^JF7H[+PU'O734_\T&[=]6S'VT.N;.RL5;Y5*VMPV@CUI'IZ-&^Z2(ASD, MKOM ?!M5OD171B)09K)2HD3A\_( A+)=I=G*-BJ:J!GI@?&./SA)B!=X*B_M M;/.30C>_/=[OU=;LMSI]4",H]JT(3PZ@"#N(@&B7H.D/4V+V4_-0[J((3UY8 M$7:I*\2>%>'AO?RML"RKTZ&'!'@^&<;R*O7F&O+G9]&;/<)R=@?[J@Q\;H!% M11C=[=-1: M?9>FYW'E?;KU=8K]'1LG@ZH00-4*_7DMZ& T(?T[?@FK+]J;]]D:+ M714X=R7,H-<")\\BR!(%WL.N72Q(H"YUSS/KG@!>@EI[(>HY#_(J[8>'K0B+ M>+!@++L3PK__;OL)=O5M-ZB'G>[@"X/@,4A,&[S;":CS5B@F'H[!]A>J/18, M'P;FCEWAC_&302@;(T;V _Q1]MJ:V0O$:MOCJ2O0I+];+&VH95G; 1)+NE-_ M#8//. &C;UP183@:%CO7CX;X_"SN<.F:(!9]'L(?=:M#8\^X_(EZDL%2>Q)X M#]_ 9?0%]D[CSGVN[[AC[@()V_B(B\5[%B?PC/)NA8]!XCE&P\.I[10V.K;_ M@K_,/7LL-#00GHUXP 8,(J3!P)?R(Y@D<1**#7HF?E@:#UP%.:45KC&(-0:Q M"AC$DU>%P[MQ?UB_PZ>FD74!+AFC[JB?>K?5V"88_U:0=:"*K&B*>@S4E+T) MQ&Y3H^-5 =+*5PQN]/XF'M:>L(%O8\5^EG9OW\ (\S?",3]7M[>?TL'^2?SG MS>JI#7L]4@:[E,NMG>G1T6F_UQ@^/9;X>C)S]5FKS]JX.6J__&$[.3H=C!K# MWC-T8'P^GH$WB<&_$K'US@NBZ+TE[-#'<,N^LV-/SHA59*DV5R-E$ZNBFMB. MJ"FO)B(8-?QK&WT!TG9)I!5?0.*VU1HG+60C')6$NU^<=JD^%6_X5+S4Y9D[ M#$5Y;Q^=#MNMBN2VWZXG^\E%_A4G?PVFL:&Z .EG*4!:>2%^%>$-BL/*B[&S MS;VH-,&%%#GU!BF16B>T4IW0.3IM'7>*=O.+4X'6Y^ -GX-=CD'V*NP\C_AW M4?Q;5:F_6X(76,H95@'$0(H.4!G9:!H\^I9]%SR(?(Z>^--FB,;.?Q!1/",&:^?!C8)PP=G\AN6)>_@ZI_:-?A#T M,WSS/YZ L.EO0+EH2-XWK"\6SCF^6HO9(!4SA.D?%_T,"[;"HTRT+R$0=PLK M(=X,EU7QZ, "^1%_.TED);K"\TY#,UY.<<9?ER MT_*T/[Y/5QK/(QP$.(;XWS(@SN,TL) )5*--$,(#[W\@8 8^8V;[]CTB:5@, M@R4/HC6Q@D2^#>OK&;-C+5\BA-C _XX9\?.['8ZG5KO#@)\&'60:FF=',4%8 M5E>>#?(G]0MB=L2U@@+1RV]%.+N>('L='KW2^K+'('0BX:=GMG]T&KD_F$$C MCRM!:LR8AXD0H@3.F4TJW5O @?7%HT3?X$I&,#JT_=W H5/LPH^)[\$H+63B M1V7"!U^XI+_F=A@OX 7?:6GIT,/'-)/6\G5ME&TTK21][A%N0DQ7"]:5")"" MPU]V5[<_"N!D7P.X)WW@G[CE#FK@Z/3 M$D)LG7&W(GJ,-1$BAL5:,O.YO0"M@EL(&\/+ +\B(83EA(]V![V/2Z>U M.P)2?2?"ZTENY/E#XB]O=D]?[6I+ ;DL*.5I'"XMAQ MP=?SE[9;H$IJ*MF:2G9K]$U-)?LZJ&17(W?EKS"7N]P5&K? ^ASL?^"]]QQ) M*/YW.T3Y)7C!8 R$BT]N-/:"* F+!+7]5JL 'X??%>'CEU=_@"Q(6+NI\)S+#NV$/;* M6]MMD3/39V?FDQ@+M*_DW]K*T7D4A&F?S4.7R.@GTG>3%1A;,>3*P%,3 Y@? M!FWJA*1^1S$G]Q53;WL!:1^4\?0UP(TU'./U\T%)=YGX:TL%YJ,QW74L$-+.!%'\74GBE8BO)]\$!;.W MA83U6YVCT_:@=DS'+4N';5V:U^ M:MY03OX,PK^P^]D\#+ (O&X-?:!K#/?A$E$LN M/.UR]H],^G*U118 MM12] MG(;>HQ3U48I.>D^&#.\3'O4F?2F]>41R 8/@1"8!FNH>X2^LCZF'M]X1;>W< M)/.YA_UR?>=W@5VD?<>-!*$TSGG3.!M?/$:#H]-._\D8P^J4FOST K1&%>]= M@(8@0*,GW^5UX<8&_8.B*:C>^R!P:C/X4&:PV@9L5_Y$ P:+\!O==J\B!DPM M1?O6O;V7D**3H]->H]^JS>"78F75R?4#I15J/M9G7IG7KH0VO M5,4'M5JF:J;=0JTUJJL,U^X3N65?U_P+3,,[D O_/-)22L'\<\[ZC1-/UQ33 M-<7T?BFF:QFJ9>BI,O1V0]07*YU+Z8_6:/@:HKO_X%5_4P!8Z,;B4_#HET6I M.D>G)WN.4+V!P'%]G?/29GZZ!Q>D.JCL^KHK.$CWNSH M](Y.NZTG@W#JHU,?G4//>"LN[WTG7UAAP^0,2S26Y5U0-V4R>GD:+-L MVT$Y7_I[XGSY&F)GRWCQU;/]^,QW+OZ5N'.$"*_B@&D/BAPP[4&1 ^;KM^NO M%]]N_V&=77VR+O[W^^57Y ?:(QW,TM&7C'FX*1$,S:1*:6@U2PH("#5%S$=[ M"::2=Z)TZ5=/Y7>TMO8[.JL=CZ66V6_A]EVT^NW1T>E)8["W\K3:O:^/V>LX9FN* M /9\S$[PF+4'KX68Z$U6B9*,$/_W-/ <;&42!@]$3%Y7B^[]>*W!ZN_W>'5: M7./WY.-55XI61X+6),SW+$%ME* V>G65D*"WZTS1]B!954GD[9!<*<:5VL[< MIV_S>+VH^=-!8D8X7B?/D(!?L5FO@&#E)Y.ZE[4*"//1Z(R> 3&U9ZE[R_9V M%'VP[/$XF27490\$8!["GE%FJ+:[-UC"K?JRK]'K9^E&?#+V ?[M">J*Z#MG MLP!F_&];]N0L/Y!;G\4>.L#]]MMH55N+V1I%?C QZQ^=CAJC$J#?BXO9V[7@ MKT3\0O;[AA=R>9']4VRKBJST?ODB-EV0*BJGEW!M=J"-Z PP;# 8O@AK1+6] MGOJLUF?UY1S"7<[J$,]JK__:SVJEB5U,:T_W@0^YOSIR(I?;#=:C'>U S=+/ M]TYKCPJ=T^A7AX?CU?0M]: J-*B:OJ6F;ZGI6YYIM6KZEIJ^Y6>CWFC5U!L[ MKEA-WU++T'YEZ.U&GC\]-76X'UCP3Q:A>NLQJ#5 ,U/HRL)*HZ/3/?2H> W MEOJ(_*Q'9 T%R[HC<@)'9&\MM.HC4A^1"AZ1-50K:XY(MW5T.G@.?J+ZB-1' MI"I'9 VERKHCTH8CTGF&?M//GY_;*XT*D@!6GT9EL"<:%6P ]NAZWIGO7/JQ M[=^[L*YG423B:!612K=3)%+I=HI$*K]=7W_Z\_++%R)2N;RZ/;OZ[?+7+Q?6 MVW-6D*5,I83?DW)RSN5XC[Y4UA3^T%82P]P).X9@K?BGKN\^IS?,%BK M.Q%>3Z[G(H1U\>]O^#E9^#:,>HPY^TY%X46 %26B%:C@TP>B# M=>&)<1P&/AR/6Q'%#>O"?W#A9WR"[<'OQE,?A./>%6]"$25>; 43^I ]_E?B1B[.*CK. M'H.B5SAG04C[_2'!'KCX*1B(?=@!6' N01/\;?TU.CPZ MO24$" CX.2H1J@*V3Y="3UY*FLKOTTL?%8%U?OWMZ_6WL]O+ZZN*#O3J^O;B MQKJ]AJ%>W5Q_N?QT=GOQR?I\>75V=7YY]L6ZN85?(%G9C?5.WY'O-P3\O.BQ M7F+8?/?MQ''CPJ#7V03E!DGWI6V"K=*=JXZZNER>0#)W,YX*)_'$]40]K,20 MZQ?8Y:IC0YU/X4JE!F9T9=HS<#3HRL2?QG88+O!2?["]A/3,O;J/51>SU;W+ M&FPEO-:.98/.\1#!:]M!WH:CX^%@7Y"WP:BW-[*WWFKX58UTV!GI\R;SE;2$ MOTK3NFG]W88;(5Q8;3[:+YV\? 61L]THB:L<']MW?U-U26X+?.\.D(6X,>SM M*TE95SLOV^W+V1Q6%N]ZV"+X@V]19U-_O+#B$)[KL55H._],HKAF'CI GQ5U MB#[S_IS+[;E-=^>Y5O_S;Z-.N_TQ:S57 MJ@:UU:J;E]?-RS>I2MWY2E4ZU9.7MNCQE2-E#LLZ_R6-RTGJF8X*$WH/&X.E]/O:4 MR*Z%90_"LJ9P;F=AZ9&P= ?[*JJKK=5EVWT;H)5ZGP>$[LE"7?>=.@'[,BOS MVA7-,R5@>_U])6"?8]<.Y"G49[8^LQ5&1/;VAHBLRIE=4G2<+S%^?64F:=&O MQ56_:FM>3F"MO92X?'9!SL47]T$4"IFI$*U8^M(;%4N&>J-B#?.N([J$59YL M/ZIAR:B&):.J#FAGRS(=K'XM&EW#?Y:)@=ETN(;];+!@6S6%7G-PS,7'Z'/VW&RM M>;M4;C]X2D?Q&@;TK,)#]?F=CS7/Z=-I9N@;B91OX5! M%!%]R[F$\]$/9X3T>\K:[JO/[!M>^[/Q.)DEGAT+QU*K_K0@:[WVFZX]^,8; M2?W;C>A+@)V'OD;1[/SP;$'^#;[_;/);CZ]\?'NR'LB!&QV?="HI\.=)!*\4 MV#6*TXK1U)WO'63PY,1O159KZUC/FPK5G'1VCKJ21;5U;&9P= HN?:=7%2*+ M^B34)^&I)\&P;TW+=NNS,21VK>'3^V#79Z,^&Q4Y&[ODYD9T#GHG3P:15POM M5&VK4?,=+6K8T[Z/S^ZI[=V,K).CTT&C6Y,@U3*T1_-DT +3O3$8[*O"H):J M5RU5.USL@_;1:;CT- :_(N+S4_C:O\(LP-.N'>U] MGYLUK3VW<[17GYS^WDY.[0^]!0':R,M>+5*#6J1JD=K]+A]637Q^"O_Z)IC$ MCW8H:@=[WP=G35NP71SLT=%I9UA[2K60;.=@G]1B4XO-3I?RL%4[V(=(9H>V M(VA/:Q][WT=G36_!':[E(5(D]:K2A:46DH,*R>;7\K!3BTTM-KM=R]TWZBM7 M\2ZFWD^3E54XAW2>GTQ:\1I/V@LCTH8]:H'4[^V9DJ'*;"JU##Z;#.X)T3;L M$PE0K[,OH'$ME3^S5.Z B!L.GH>&JCJTS:^F3-CH1E'%4N'Z^S]C*2_%L69V M^%>-W]R[KSDZ+$O9<+AGEK)79ER\&J':C:.VWI3ZI*N3/JK827^[1AS'FO83 M7GIZRY^:*/695^:U:Z:U1*DEH;>GJZ.3H]->M]$:/-GG?(X]/5#JI3[1]8E^ M$S'-46M?,GNS[=3[FOKT3\Y-MZU#XZ[0P:@Z<39E7E/)>0F?^2Z4]? M_K/L*$]*,SAPS<\R!R\0,?F/KN04CB[7:+MMKXEIQ_*_V*?0?S3.+E M7\E1BNH[V( M<#O,"<+LY N&.+O\0BR=VV2R^=Q&&TR-UQ4.11#2?G\ ,18A?@H&8A]V -8T M1&7P-[?;'H_;K?&X-[@3O8G=M^_N)JUVJRN<5FO@M.S_-P1_E.CE@XEUCGJ$ MRO#MTZ6<]2\E3L6"G4+AB=U"T4ZK/Q5L[&#G4E MHQZW4&A7Y1S\'*P3=0N%YSH^[5;KA:VL_M%IOS$ZT8*;^G@/+DO=/&(M(].>Z/:\:FE9+MK^:13RTTM M-SM>RV^5Y[':UW+=$^'93LZ3B1N+9Z17L]O74K+#O=ROY::6FQWOY?VUNJK= MY;HM0B7.SO[[ 9\,:X+[6DIVN)E'M=S4$ZAVU)U_C M6Z$Y!JW6T6FWW6@/Z\X(M0P^70;W U,;M*@C5^-D^%IXZ6NIK+)4;H]R&[0Z MQ&/7>3I2\H4D\.U6_]:=$5[7]W^*%%/=&>$9GN?F3!]T.H287I[^&2( M%:IJELC5'!37M=1[U7LJ+]=,Z[NC5#5>N>::WE[;_-9>B,,0!V>]MJ- M;K_W5MB6ZQ-=G^C7<:)?(*HYV%=4LS[=]>FN3_=3[NL]]$88M(;4&Z$[W!=) MP\'/\Y+>"-G>!\7?9-HEY%V\_$[%SS"WEB2LQPFB>(6 M3ZT8_BRB&(0,V55M'Y;5LVQCZI;@N>/G+6&/I\CHC]_R81VL":R?M1!V:(3! M5W/,]RO!IC[H' ^'PVW9U(>CX^%@N">.\,&HMQ^.\-%QNW>R#X[P UQ/+\9M MO2L/^IL,B5!3DV]B9H,.!*70:77Z+QT)>06&46LGPZC*=DWK!3NZ%6]/%CC0 MZ]=P^:(]\P^X-[8V>T[ C6D,3IZ,&*H!>FOD!+3"H$XO5OE 7<%S;Q^%]R!^ MAY=,MX;?M5O(QP7F:YU^>/ZS-*RK3JI\EO NNGT,MCY";:*TZ^^K06%]':TX M0J/Z.JK\$9J&0FQ]B#I[LNGJ>VC](3JI[Z&J'Z+/0;*U7]1&V%BC.]A7[K:^ MB):)QNU4A((:R=;7T/XQ7'"$_..)<=/R(&]4:3U/95"[3Y5![$"6AB(IYZO: 99=Z@I_%\G?XM&SV^O/9Y3?K MC[,OWR^LWR_.;KY_XX;BQ0TR$[[EW;7E\TO>VGGI+/E6&4:69#B'04C3^9!@ MX@(_A8FS<1*&F#C#9;=HW:W?A8VK/LL0I:\7OQ>' KB8;L=6]S O846/]MRR M[\%GQX%;C\*B=#Q?M@'\!W?.%ZP$']UX:H$Y9=V*<&9=!;%HP$5L.2QR]!T+ MBR(ZJ19ZCKDMZ5,*P['>==Y;-\D,EGF!UL,-J!QW NH'IG8V'H/VBW'7OH(6 M&[LB^FB]\]Y;EVI!ON&"W.""G*D%>Z#C!N)H6Z$^B'=V!)]-(OSW%_$@/*L#TCA/XNC8 MLE#L60'=HY##/R,7#C.K*<^U[US/C1?X2!3N.]NS_3$&=-(YO#W",PF M>$=@77B@O/ "_4-,W3%\X]V!3M6J"^7BCX,IFO=6@"(?@PY<6&/9^!4/S9_" MFMD+7&C:CDAXG@AA<7%188S&]IR??;+^8ZG!/+9+ZJX&&9.YG[=F?L5C)*+H M/)C=N3XMU[G>X'-3$,["$"QJOG6_X;^N)]=)/(9)1'0M_S?,6%O1@]00&AZ= M]H^+'%$6+*]'QHM/LUYMA.$TC #%;J,^TPOYU5[@;[["JP(GXQ? 'H\_.$GX M"-8XG)YT&J.C4P3@-1& E[?.K#D]R)J$P0R/8 =F! [ _11_&$BU:&SCG%\? M60A&M>X$:C0XF:3FX%&(T\.SZ:-2]!\"=RP(0F@]PKF:IM^>V@_P52%\U(V" M_'8\CXLH%K,('0B'CN4?I7*'ZRY^P),C?-4.@C4L%RS:G]_!$9LE,^Y=_DV M!@.E_CD(+^5LOLGQELG+R=%IY[A8I:?E!1:(4) T 0,C67$!ZK18@!C!F9<@ M*2,S^P>NF]IB4K?V?,X7XBL\_)WVZL/?D"(-$@)W$]TB,-TP^$%WE;=8,=_2 M(M/1H><+GE;WN)B@UL(+V_CWQ!=\87=;=&'W>?-# 3Y!J.5XPQEGNGU>7GU^ M[BEORN\VZ'2WK!!NMRH[E=[1J1\4-K6XRUHS.V!<@2P;MSFJ;_R13C]X?@Z< M:66^65VVW#JHJ.%_NVP3S&W7H>_@0N$[$MN#(X'/MDFQTD/A\SWX'1G&^.&) M&X*#!>*9BD<_RYR1>8Z^,: M\Q%&SBT,*YZ"WF0KFCUE&.-EJ4>I9TBCH#/!.BOD6U(50-/R2P 33D) MX=Z *7B+AN5.,*+B"!#Z&6P!>RLQ:=743,+7HSEOP21@\I$2-1AE,B-!1K^8=0X*(_"%E (O,$ MQK>D&]]*OV+?P>23>/E7<@& '-F0+HUY.:^P:77:5C.W5,9_IV%:*'$OFG=P MF/YJ4B[\@^T]VHL(0_OF!&%V\@5#G%U^(9;.;3+9H89DQ=16N=__91]V -8T M1%7^M_59#7!;J02-O".\!2C8;)\NC3"]E#25QQ$O_5L,K)Y?_W_VWK4Y<619 M&_TK%:S+Z8[ C&X(T;."",9VK^WW[38^-KWF[$\[9%$8K1822Q)V>__ZDUDE M<9, "004N")FW+9 4E56WBHK\\G'A]YCMW_7NQ=TH/>]_NT3Z?=@J/=/O6]W M-]W^[0WY>G??O;^^ZWXC3WVXP,Y R*?94<;GHG&]8XKUFG.F'[X]A6UB9M#; MCFZ.?DBS43O-+'_B+HPG@9^8$]MQ0EB3N0%"3R% 6SNS&JDU<&G$MG@>G;ET MJX;%C9:\C!Y[SK?Y_6FL>,F\+06.5Z.^NYWF+;PR.5\:]/S9\=,?&'+.GO)I MYME4HR[X'R,7K#8XHL4.SZW!=E3O\SNMP\^8.M\*>%1?U<)E)?M%J5 M3>OTY:J6V;"49MER54-IF&;^1^7+50VCW)/6EJMJ#4N3@[K@016L-BY;B;N4 M(*G65F0OE=>-62I923YJKE&^<<;8&TG#;DOI.T<@I+Y*QPVI/H=Y@-HL\021 MUS$_&83\P)!!F645,37Z:&7ZN^5+[T<\83B(9<.>DD@E$5Z$)")/OE#W(6-1 M,D@R:Y+,QR"SOI_].(=R@"1@M)J<>*(4__-,XM\+R>W,TO3+HSVKZN9$_1L8 MPRL+\?/L_+Q#5\P;JCCS_@"Y]5).I)SL(2=;^M-GY:1XTH)5=7\]*412B(04 MHBU5846,35L:&RDGERXG6Y!S]S VNG(^QN8,0X(%N6&>:K:2G'.5'LQ*%(4" M9/Q43JJV-+;9(27PFB]6GIRIM8ZA9[$2,N'>0\,D2-ZI0B&;AV.=XJI;JTQU M2]X2B+=:(O"6+GGK/'BKI,VSCFGS#$%LWN6>!6QP'+T D_!I.)90=N?@.MX' MOK->DK#IF+&/)%4$6"?91TSO<9%[BAMYL^J]OV0O$=BK>@=R-_9J2?8Z#_8Z MN0^YV?A9@AB_'#0VF1(O4DZU'-19#TJFQ)?*>EL%(3!D6KQ,BQ?P#$RFQIL7+#*Q]8VKMO3,5=>S)J5;5 DVF*DI!$5%0-.5@ MJ8K&&:4J2B&20K2'$.U?A&6HTMI(0;EX03E<%99177:E3(R7B?'G=,"K;2G+ MJC1)T-!K'5,[?8Z@9)TJ]/&60J6CY"X;ALQ=OD3>.F"Y3G'>:DK>.@_>*FGR M#EC0DV4B4PR3=[EG 3(M_E(<*[Q85WL$. MBRZ$8D]@(-;2ZP@5)>W,UT2F5FH]"W#5I<^Z(&]<%RPFQI9A$]]JR\8)Z&P;QUO<'%R324 MTB:E;0]IVX(<DSC,/)$4:]UU+IBMJ4P2F&\9&'<4M)X M---G@.FS9*6*E+9+EC9]2UVD&*:OR4Q?6Q=>&"^XXL6.1F1BOR,#1+*XI7(Y MW%):N:LVU*M* ;O58?:*GE/H/0T?4MN M]B&9+\MD5JVC9Z-=LNA/$-8JQUE;\K;%4&O59=W*ZIM":8R8Q4BC&-@BIH.% M7$99=W/F/NT_;=?_%D31G>]XTP$=W/FW=H@G=&7DT:P ^,Y%LF))-R/C MXT8P;OCMA$R993ZUUFDJI\^HAN4\D!2B,*UR&#UNUCKY/Z;R, 1?/X*?^X.2Y^TG]N YK M- BF6(V>3KQ,9<@E9EY51!D1%5DY/;8%'N98Z9"F5>M8K2PZW%X96-4LLMA9 MDU+$I8AO$?$M"#U"Y&":;9:#J>P=)I :0&H J0'$-/(M11IY*>)2Q#^JD6^I M%V;D"V XM\/]T^D>[]#>GU_^OVD5S_>'R\O>^3;W?=/^Z^W?7O;I^R*YHP*5N64A-\ M):'(,2(; B*)Y5AB,IL7A^#JE,!A-K:'J6D4@?J9B50/B9S:,5E/$ M0>V%+"@ANTY_*TH=M(%3?^&.G3\# I35VWA5+*;J&VY!/\$[I(_6PLF/!<\MMIU1@ M,X194753.0#@RIE'.Z2@7;2@;:F;JU[0FK5.LVYHV9Q@,07M(A.'ETSZ) R& M-(I@"6R/#"F5^<%'-F;)0CPLK,-7NKN F1C6T\V]!4QFN G#0%N4=,4,U$(& MTMI[ T'*_+2"&CB"%8A@;N.QRY:O\CW5I55+'4@#/^$Z7,^687WSS!;F1^E5 MP<4)L!?X\ Q23,.N8Y"2"I9GU^A5[36EB[L]:A6&MA^_2\_VN'H5/)+!U(G_ M3,C/EL/VKCT;Q&?HTL%Z#6LIM4Z[)ZKK% M[0>Q[1&[5').U5[LMGLV)O:=-UYXR0.B*@ER[JIF>TAE)7V0*9]LJMVNULL M!56WFGO#A%>XIB?:6DCYE?)[B(C78>6WB?)K6-D"^/.2WS5)Y\M)YJM)RPN) ML\GZ&9C1.@DB%V_X$N)IN_M*DT369'$7[DJFJX% M'>A]KW_[1/H]&.K]4^_;W4VW?WM#OM[==^^O[[K?R%,?+GR_O>\_D4^SJHO/ M!=/UCZH,UJ15__#MZ<"-,X,6OMZF75&]S3<:193V)A2ESW_Y1FW8"&9+4"PS M6U9CF=FRFF^WW:<"Y3)YM2OL<4+5KD1DP"N-8(_L^@0QF[6YBW!$*0QB2CYI MG\G3= PT>4N(TP?*1!W Q''"/?B>??GXF?#4/.>!\RM49 MJ=3?R1O%( ,.#OTT$DQ#XK$Q(3WQDW# H'+>W'C$:GY>IBZ_ I]WGZZ)96@- M0OZD_#;V@& (TZ91'8_7*)9$4#*TG;2""$,8#GA--D*P_V?J3K#(D3";0H C MKQQ\NN=Q8Y%R?3JH>(28/;\F;LC0>U[MT(7GDX$=LP_! 7P9$4W1<4QEQ0Q> M@0,?)10?>%C&R(V%A]#3YHON+ MC.%5HPCAB8"UL;Z"JPY=J1,LL&#?PS*#.@EI-*$.>H7>.Y"<(F6BI#0K^D)V MDW0VL9SI:MOD7X#R+LMJJ&VC;'F7H3::6XJ6BE\WM'8UE51:PU3R/Y*#.I-! M55((5[!**O=K[;,JINHS-?B=J[];5'_[%I.=U_R?0/FOG;WDEG65AQ^*1W)G M+4MJB_)_R=(0T5B A: *5MD6G>IE4TQ+*&9('I(\5"D/7616%YMJ;V4'BYO5 M$Y9TG]\1I&PYON&0<0O4W7*T$Z,R>2>%5JUC&ME. :*U Y>"(@5E9T'9 AA7 M3%#:V&OI @&4E"DH(@B*%LZ+>4)2KG$E+924?FKE",1>$O*4;X<6148G+9: MZ[3W!QHXN*!<9/HXCR+GG37**L?C[F+8(O1A#3;*"E;;"%*C)GGBX Y[,9[0 M:QU14#8D3QS<-RW&$T:M8TJ>N!B>V.)G%>.)9JTC2L/"G'QW<1(%^XM@U<2- M"$XVYLAFKL_W@:P9\G,PC1>3X.P(4_FR^5=% :\%28DRM8:I6Z41KZV&TBJ7 M";,!7-HR*\FIL1I6R32MHSS)VDR/RSTG>K3]%Y;5']*Q[?KS R/X&QQH_%8DZZJMU(+X?IQO+(-?TQ)S_Y"J[$4W((1.5\& MTQ#786X[S%I':>AKTT/W6*7"5!Z[@X%'CTKE.#CJ#,7C(ZMJ/FJ!7]IH;>2C MRXVS_,G^H -BPUAL4(1Y6G!?)5C$C3[B_6?+_%N"F>E:=OE29H5!+2 -5JW3 M;!B5:-5URW:YOD1&FK"ZA]6FP#)1$1R(#^" 9'>O_A2[6VS$>2@G6C?)LC[" MJC[0T%F$FKG2YL+47C(MLPWNWRKEA$*%VGM7[,U:LGVWXVD(_^:7&;44)=-) M2IQM=#)VK.("AY\;N,7F4.MVR]FRI+/;/K=PJUAN^]RR&BVSJHHBTS*J*4FQ M&JJQ>4\O$\EW+J2X7-/,B@X_<>\6A*WRW7P9"EU46L%%)0]LP7[::!@?['>L M!(X>4Q[K#;^ZZ!3\-W.P2R7KM!36P]10)5#=$12#*1,+!)2CFRF]AR?VWZCW M2GE%86DI8DB@36WOU%&)H;M=BEH2+E=,*4+[TW\+2@N/CL*CZU7EBTH3M$%X M+&F"!!8>+.DO+3X&>G!F6Y2\05GZ_!M/S^IXG2T[3V1L&5QF=[ M:E%(&8ZD-$''D2%V<+U1@/K!'_3!=@==7):=1P;:M2MU0*[;NU2QBA;TKUG2J.'Q24JET MCTW]$J[M:$2^>L$;N9M7_11%1);8QX6N7SZBKQQ4T4%)[&.)?2RQCP]$+8E] M++&/)6ZMQ*TMP$T2^UCRD,0^+MY7:AS $/Z7;P"#(7GL_2!V%-&3'DM)G+V+ MBDV50D!^Q)?TAC\BVD4V7.3/6]X:/"G(1,2IWA*)J>%2KF ?(CY!2)J5,%"DKA:V\F['2 M:QW3:@HO1A4E&'$94'*$@/V-9:1^_.6JG3TZ.P52VFP728)G;'_+FQ;37\Z( M8:BQ_KLK77>"9Q@M6_/=MIX?+4FIPAW8BOSUDB6[ ^GC"_8U"-=F$&0%$\M9 M!,DDELQS\'W'7LQ3TG=JUCK->E,5!0A6Y>A59F'NPWK2QR\K6[$$/"\(.*NXM__8FG:G&K'._NY#V)*/NF? M2=?YS]2-W,6TN>.1H\[FK_Y.@/^_VZ$S(JK& ,8,!!@C-HXM!$K%(TRX"YR? M>';3]6 $;&7A;L/2?J\3VQ\@%EDT=4;\QBB:CN&^B"(\75*)%#4(N?-G0.'\ MBUX4$'8>QXL' O:J^1L(DQ;2?0DIQ5H1YM*ST5#/@XU4\(8^_]!VF#"1-RP= MS Z0C&!P+NP2)J'K.^X$1I1L"V 7 *-",',VQ %\@XY=Q"F'+WK3 25O=D@Q M:X"R20;#H>O VRRF;J[_)),P!W# MJL3(H<@@C 4G'(,>YDM_46>:GC["YQ%- >G?@#=L L^]/(R)_RU%+4,98E:S54K,[(;R?^_\;1[)G(0:MEK+ M 7Y,24CLF%%M .?47"NF1K+&;T;-7RB8 S,KIT$_/XO(?7@FZ\T2:KE&0.+ M=R4&09G?8C]'@3>-U]^R8DJT->G"Q].F5T33R=4*J19^XMAQ/5Q==1Q5<1S# M?*;&T&[:S\]#155T.E 4Y@7Z'XL'\_V*.[]/HYA<]QX?>H_=_EWO7M"!WO?ZMT^D MWX.AWC_UOMW==/NW-^3KW7WW_OJN^XT\]>'"]]O[_A/YE.@:.OB\=C(G5 9K MT@U_^/84/)W,H(L M":76)AXK8OL*(@45_W 5>4SWTMD?Y9#[;VAS_$-][:G M80XRKZ9R&\B6MALGU_ YRWB]-[=_]-?B?V\H,4D>EO.*K84GPM;;?*,Q<#+S M-:[!9W;CHA)Q[)W6GQ2\[E=PH\ / [_:FX_;8>/&_0)WY!V&W@RN#S/]$7/Q M'=AOVBYSUM )&P1CT&K <;.-1#]QX3)/#9-'PCN?W\G$HX,7^!6?YX+K#NX- M^W;R,M@PN+#IP9L<#[P\^ IE.YD AA;.SA:X)_AL>[:/SO\(G.9TV\![LB3# M3#S*D+)M$YG"# /XRZ=O,YX+QCD M NH/[/>YT 'OZ\JJ.('C]\ZV1[B]8ILP-P2?>>)R#F1^(5\9V.-A 3'XR^MQAH4A4'+G[I M7LMLJ*I:MG1/;3:L5E6U7\VJ:K^,1JO5E(.2@ZIV4-;F0?$)/&'V'CU4:F-UM/(>_=3AX#%GP@2ZN-UD^.5+O5(2>8R*S32]T MP5>S/8(Z CGF#C>!Y&;7EE,?B'3SC0\CG"39V9'L$BH388/9P))PPBA:M+)S M7XI\9(K#UATHKLXI7DUEZ!ZD$23S_7O<(-_L:4B].KG_/Z?L6+@'+07+>5H7 MFM.*A.;N?#=VF;I%3;O?%GG5K3LLIJUCO&;KORFF7)93[NLN$'=?1U;R3KJZJ'7LF8=Y;52WJ#@T**25)2E)%DF14+TGM,Y*D2P@Y MKFL0[4=#EWJ#.OG>%302))C(K/.7,@FUE>YN=,RP!2>X5=7V1JY;F77;V>W5 ML:^M!D[O;UI3KMMAUVVO_8F.K5,Q?*!K1UNGCUKOIAI;JG%W<"ATO0J'0A9% M"L0DK>J9Q!"(2?:%8]PU="7O%^_^@CL9%2:MX !"E,H(W]C;B!1>9K#_!*JUZ/NDY<3"K M^U";K.Y#)9^PU.-$"!<;Z>H%$=:V+&9J'8]<">3%9X8_L00] 2/HCBFV26'5 M-(\49!F+9KX%-@<1>$IKU>9X%&]N/"+?_VZ/)[_WR1^V_Y-\$I#BR0!/1VQ> M:%=G8 O1]#FB_YD"];QW8B<$#V9,3#2+\V]]5L]$DC(GN/1$)S&_IO%K6IU\ MM]_)#+9DL0Z*J/Q1!HA"\$*3FK[TG74BJ'PP?INQV.D6+2EQ7!Y."HR"H!GE M\"V:2_@6=_=?\^J%[_PH#J?X(E"[=,6(SO$L=(1!4AI96,X9H 4">H3T-?!> M4=4,J&>_ YL-0ON-U2UBS2(55D/V<80($71"B668/F676-VRQ'FA^^_V+W<\ M'?\1A"&K2;RV)_!)+HR)C@UHE4;6>9HM^WS)DW+)&3:0J&O].!OQJJ-Q]$5G M:S[3E,RT(=%FW"BLQESCJ9U,9=JOMNNQ6M?AE-?QKJG:97-8)C*SD27%3EO: MI9B;%>L/?QK104; YT$##-6U+M7V[8>@EML7Q0-'1_T<'5_](P MR-EA&4JM ^H].^)G-F?FWJ'G@?.-%I9 +%UGJ-MT759S).RW(@X,_LS>4NC> M-#9S#?)GH2I\0ZMUANXKOWXD3(A-7U(V) 3)[I"PCJ@@N8;F&8.U=? M\ME8[3Z-.&)=XO?I_(O,ND=Y,K7\"(1[@->/W2AR448Y-,#&N2%?84YD GB!R*FB;A7>NI]?3RAVP4$LX'( M_D\8WI AFB/%.34GWA11Z!!ESG,=9E\X0]81T(1R2P-+XS'8Q1<*ZN#6=D;< MZ\TU-:!)N.)&^>-H>;AD4U;R25WF!WQR/Y/I!&%!MNJ0S)'_KCI$WZ1#; [< MCY-EKKR'&Q3FK2#E/"] P)(I19L++V([]CK2]9-[@ID8FV;"AL]&SH=5=% , MC61Y1(O=#$I@IAC-6@=1.GV&FA*MHS6'_]A,8^"V+E=L%]I'0-G1E,7&=<+HPEPC&9(>(1C6TIUZ,)'EU M(YS]XK(]3V,.>N2.$>$M@4R"O:;K <<@\%2*_30!KV*AY00BU#+!J9-7-_!F M_1#GKT&2PFU 8QA9[ M4,TQ^@NI,A;"&&*Q";_G@Y>&-N@?"/LY"(N5.)ZK'IU M\ X7'(PYXA%!%1-SY"U.V, !QEED8B:7W-U(W8NLVX),R]D='K767?>G&/W+ M>NQ+24W:!F5ZEPSJ$=YTY]_BV'O#&S[RF:M^IDJ0)/WVV8T']FRUE/EB6;"?S=M7P335 MAI($OM@.DX!&"U\HHR Z5'-:Y4*>[3CQ39R83OPK#N>:C>8Z&0RC1=[\VHCU MJ^7$1OD$@;<8RMB"5IK[AJMF;AE.SW.IS[9>J#9B&!:P%P;Q07(3?0(77]BF M"JD(\YG]R:'T9F:' W?;,\%8/!-B*FH!>AQ\"-0[J'_RHRAOX,DB\#>(FQ., M0;B8KN#>"A\:5U*)&*1RM%:?HLQ.YECCFU@A*V4)IB!&<4JSA75 MF@JB*)M MK>?[=+J(#,[4/%, 67H7MNS:\0]"N],74(VDN< 9'/D[ ;%_ K]QQ$_Y&'\G MAGN5 ?@2,E\3^?O-!J4:[<(+2%-N$R.2[,^0H.F!5A.>&0;3EU$B+JERYEC\ M"8"?"8Q_ QXV;G=&=&9BD:G=B(\M9%CZ( $)].2 .Q__F:(]0=7-H//#8#P[ MJ@3SC%+C@KL+7YW&K@>$YH#G^6&$-SJG1XJJ:9,)^OIS)X.YSZ/ PTG A/^# M6/+P>*88$"P?X=-];E,6/>*Y9,\)D\IT\K3](J+95/3 ?\$-!4I53NRMJ=8Z MS49[?>@-J<\FE)V+A$HO(*I71#,V0:5+T',)>BY!SR\-]'P]3/?1 ;E+953- M,U+ *@U"^E;6&K4W6Z.',' H'41?P4(C5!JZK[WA-AN%'7ZU3>=#>1'?.'53 MZ&J/#Y3U?[D#"I1]J?($U6PTBZBMK/W#E,4KO9$#]8L1<:Y287U:QD&/#_(Y M!#R6/_.Z%]G^QI#>%>)_ZU5TQN,/<5-T=<3:6BB&MS8[B> M!<'X;A)WUHOA8>[+HON'!Y0PAZD7\R2#I!'1,C'?6$^B9*."=%IWK@&?<4<= M=YO%FC.MV9*92Z>\F?S?]6&CV^$0E@V(\D!#U,3@QN1%CIH&!B/R8D>S@S8> M8(WGISJB1E9!;2XCD&OM_?2FN<6+WTUO-FL=:U/F6'FUV76<*6A-U^%J8> . M6'QHX42@E%Y@&C"-*B=LGB:6Y(E%(7EXM6&!P:5;'T7!=@AX3+Z?O.@'EA>S MUC$;V=Z:Q>6E5 N3.>+_=W[*Y=)HF\(4>2"9:PWWA&BUG0:"478<9Z7THHJ[06X0J+9[YH&C/]Z356AI!>/'UO M 5-KM%JMLKT%6E:C9;8JPH$W+:,:''BKH1J;(>4E#OS. ._[%A&+6UO&PG2? M0CH&KQ2$K0@1*RWBN]@:O(LJH=N&\;9@2NG.OX?']M^H]TJ_PSM&46E1 MPKSPNF5D-Z_G"=$KRD?A'P[#P+ZKL>O)A=_?M?+,/2?B>XWJ*&,^\PF\CWJ3// M?S!*D_D@37ZV#\[/IL11Z!"U]\&/;@;@#NCSMD$= N2T7K)@EF77_P#2YC MH@O8TRX?ZL*5XAII'F(VL71+;>AK%-*L<&Z6_;;(4P.>_KDF2)MA-Z2TVOH] M6LQ'X54]/()$) 0/UB.E2R:W3?1I%(3L &Q6JA?ES5?'G+K6 MQCRA")]TQ<:\/*5YJ12:(IY@N7YY;-KY.&]>*]5?:XI>=TB-W'RJ,%LL9,L_F1X"P>;1_\4SAKP#!9,=P*G9 X7U M,H@2^Y:\A=A)"N#RD0P0C>?/^$ET/)=[=\D1--C7I:SV;!Q)5C&)BB,+>LW/]:H;N&:E1.AM>;L M.'OBE9=VPXZC1'*X"AQ +>]\XYGVP_6B6.J8&%0?" \786?,BL!*G4+)PR5Y MN"0/ETX?/9:'2_)PJ:0;?_+C)1,!BNK-=M8SD<=+\GCI0\G3_@=,)A8RU@W+ MD =,AQ>FUL&:-6X2IJ+65@H36J/^6Q[<54NI=:RF)2W.X87$DA9'?"$9A93F MB8D*2VA^U&2%3360)\E8*'(6*$02P^)QK[ITUGNYF\1*"/*A5%-9W[:%)V5U M3.IW_M^^_BTMK/>IH,$_K:<,1R]JK>R M3)4;-[)?7D+Z,H.Y2M9ECUJBY6?VALD3UQ00M8PM*E@/Q'$QCYA"$G!P]IF60VU;90];3/41K-5U6F;H6T^(BM\VJ8U M3"7_(SFH,QG49IXJ>%A:]B!Q\6OM(D>O7%:/ZM'GZU*VW2<\P$QN$;)LW_/6 M\YK_D_MK_>PEMZQ0*\48^U@\DCMKF791E/]+YOL+R0*83U$D>%UPJA^#8H;D M(F3HI M4R?S3K>V-*+?X9M)Z7TG$>TK&E M\?LQI,,$Z6C5C786[4Y*AY2.4TI'2SF]=+1J':-9-S51$A^E=$CI2*1#/;UT M6" =5KVMB6([SCKPL1GU^/;[;UBI^Q+:<;#;9DLF"&^2)NWTTM3&9+VVOK>I MJ2AY6/)5%7RU!9+J"'QE*;6."0Y^%HQ<\M7Y\I5Q>KY2:YUV7=6S#:PD7YTO M7VW)1C\&7V'+&:-N6:(PUK[!^]*G#!(I\]C5)J4I<^Z"+H"8Z[6.9H']J HD M^^2(FE*\I7@+(M[FZ<4;$>_T>KM]E-HS*=Y2O#^0>)\^]&LU:YVF46^956$0 M2?&6XBW%FXOWZ7-F+&R I]^@H2CB70#N7G91S^7<*Z(U91?U(P] =E$_ M]4#O/W87]>PNB3W"E&_M5%O^H2DFJ]%E-;JL1I?5Z+*2N'J* MR6ITR4,GKD87J?:UI#I>J$9?!(C;K1B]HC2B@Q53R_&=Y_@NMTJB/Z+AV/9( M3*.XZDW4WOF@@M"H^-E)X6T,7QC)T MR5<7Q%>G1\]HZ[6.JM2M2T)JDHQEG1X^HVW@F5:]U1:%L2XW?/]$QRXP !Z; M!>%!@OB%).JB 1ZLTP.'M+%VK K4,'&B&)*OK-,C"K1-#!TKJBB=W"5?5<%7 MIS^O:[>8:VF:>R-52,82B+%.?];5MAAC:?MC+\N0Y1;6^)<[H &!=7B!<7"=/JSL78;]FEU;7_4,+G_%XBO3GZL9"D**.FZ:555"2_Y2@"^:I_\@,52 M5-RMZ(8HV-F2KZK@JY,?L%B*5NOH=4O9>Q MB(F2KP3BJY.?MUA*$ST"188O+XJO3G[>8BDF\E6K)4ICB6-'+S=AE1V /;H> M/(PA'?W]+Y9A:;^G):9S+Y/C-\FH9E4R=O*S)TMAM6*F)J.:E\17)S]ZLA0+ MTS!;JN2K2^*KDY_"6$J[UK' )Q E64[R515\=?I3&!5/86!S++,PCY"%&;ZZ M#OTMB$=4=IJL6I@TY?1'3ZJ*&S=3F+03R5=5\-7ICYY4=O1DM&0 \Y+XZO0' M+JJ.E;V6N7?-F.0K@?CJ] Z;4KRE>%]F M]TU+M3Y ]\T2#>9T$X1\?>\XV>E-]B^3@RH\J+TZO14,-6[\VGDUDMJI/=L% MS5\V6Y/-UG::M6RV)AMER499&RDFFZU)'CIQLS61TA)+JN.%9FNP*_M)X]W: MK!7)TBAP_\':A,GQG>?X+A=,"W%:J\;0VOL06Q#:E Z^7E3L5%-.7^ZLMAFJ MGMK>NTN..#4H4CHN0SI.GPVE*5PZ-%'P@:1T2.E(I./T>3.:"M+1KJO6!;6] MD=)Q&=)Q^J)Q3:MUM&9=J2RK3!9AK@7[F,;!;[?_DN67E8O1Z=,[-!W[7UCF M!77QE'REG+Y&7C.8:]_210%DDHQ5 6.IIZ\7UYH,? &\8\E8%\18I\]CUDQ@ M+*-NMD6I[+WO ME-(KTY_FJ2;V %:;5]09JOD*^WTARHZ.U116I*O+HFO M3G^HHENHKRQ#E%SCRPU2/ME#&K__]D2=:>C&[S)26;DT'>(H*2LPV%QH_PXP ML!)>,(Q#BG/QLQL%BH;L@\[HOBJ].?C1@:BX_H M,BGRT)S1V[G%F=Q;;9*ATY\#&3KNK0Q-)D)>$E^=_AS(,%@LR)!]M1(OA*!KTY_)F*86&NJ"V,']XTQ5HG^M>T>V3#@.)0Y=SD_ M?;JST:JJQ=DA%OA$L0PIWE*\+Z.;EV%5U2^(M@(_>KJJ;EQ1O M*=Y2O)?$^_2AZ*9253?[ZET=@!IK09S6,:P@*2>$3A?^Q/ M9/O -^XO,@Y8IQZ*G7H(MF7A+*8K=8+=%>HD\"EQDNF13^E$";9>UI3?N^Q? M]??/Q'8<8+T8G@+<3M9*'+#_,PVSD:^EK$UM5>I U+"% B?_HQO]?* A7K!? MJ#J3H"MM+D)XTIYU?O_&IEUZ;'JU8\/3VFP*P-_J)*31A,)?K]1[!\(/23 - M<3!,&&TD;@D <)Y.!:<7:D!&A4/T 0G MK9'-\$\'N*S-05!Z7#:SE$:!=4&F4OE-M=" 3H+(C2,VU0$=TC"<2S2Q(UA$ MS\-_,Y_YE#W-F<)5/R:3(&34P?]6%<2S[=F@?T@THC2.8)A?0<,5-2K 9/A5 M>XS:$=[N!"\^L.X !Y6.90B.,OM6[MS3U]N,X;[;H3,B"9?"P]_@6@B6F# &MF]34K$!28LY*!6 M2KVU"K,L%=5#4[%=Z^B-K!^PCA4+>4"')Z6^ RFM Y/25#:3LK%L^S?N7!/; M;&"?9Z:^T;4(J6>C'4C:.ZL*BTDLW)4X#\K\%OL9=/0T7G]+P<;5QW-$KHAF MDJL54BW\'(7I.";@VEX]A]3^>64/89A?;._-?H\P4+ X09A=\H(6SFZ5$&OG M-AP6GYM58&J;/,5_V*<= $# S+R%U=7'4=5',]>T$' M>M_KWSZ1?@^&>O_4^W9WT^W?WI"O=_?=^^N[[C?RU(<+WV_O^T_D4Z(UZ.!S MT=W$,<5Z30O;'[X]';AQ9M#\YXHN3%1JJZ7#AN!<0WI=SPO>F"%#XWD-GK4+ M6\$ [K+).#VXGX*!@#N\+?@2YB4]N%! M?WB!\W-NI."!%$S7!#D^G-)C4W?S)A2W.6!M";-T%#>6;*MA+U'2X93T&"69 M&P#_#0/\3O1E7XE@P>6Y/67Q;)BT9T\B^B7]Y?>!&TT\^_V+Z[-)L)M^7WX# M6NZ50#9['_]X;H8:"C=%26Y:\N;DXP9\]%OVNF$US+:>^Y'24$M>UYOE[E@W M*%5IM)7\C^2@SF10FWFJ8&/U+:F2&[]V7NWG^VQ?_IUOAVYQ.[1O7^WSFO\3 M; ;7SEYRRPJU<*=,8)/\L7@D=]8%>>,$R1%6>3>0V>]/["0DF,)#!]'G?9?X M8IK%*TFS^&:18L>*&G%?!L4,R4.2ARKEH8LLIV93_8/"QLO'0_HD='SL)O$+ M_*(N,3KULB"8G.\_4:ATC M)P%CM_*X8JLA:"-@*3V7*CW-+6!WNTN/#M*C507D*J5'2H^ TK,%VVYWX3%0 M>/9&^9'"(P)#2>%9(SQ;ZJMVEYXF2$]EF+R'DYZ+1%5E;' ]/P D]-<$VXO6 MTV3%D'K4CEAZPM2?1IAVE"ZT1%^MVKM;E; (!@V_K8K:0QB\NA$\+4?4\@0, M4V*K A00H*+PP_-)II"](CYIU3JR,?CEL$G&8%?$)A;8:]E&[G+X)%-96Q&? MM,51)Y<;JO\S=&-Z%0R'LL52$7)]JA /JMB.ARU0#]8G1T1:2F[):>:XNR2; M2I! $9RR/9EE$9M@Z/ZB@ZO_I6&0QT1JK8,5L:KVNR#8@)*=*E ^E81;-BJ? M_'IWJ7S.D5NVH*-4P"UX0)0%'STZMUQN% Z6!O[TD_)@YYW$(3S-2^HWQA.@ MN(RX'3KBQL7&]>.X<&%(LF[7R;+UYZMVQQ8M3YB,6DW]W_\XE\^M9[>OI,'FX?R=-_=1]OL^N3<%IYP*PG9T0' M4X_VAJOC_L..7*?K#VYK$9JB=ON-Z+I]?,"3\/9A.#U)FOR!RYW@, M'T5(R(@$TSB*;1[?N2+/2%@$[]IR%R(2+UXA]#]34$4>@@JN/'+ UXC=PN!% MDP=RL'0@S=>QIA,B\U T)Z#;JQ!R*#(9PE;X^BT;6.1N M,=TP*D.H:E:&4&55AWHF!W6"0;4DP)@$&), 8X>AE@08VQWKILC1[!'N/W/@ M(:T,5-.^-/C@-"X"$";Y5/+IJ6G\ 4#(V%3_++U#/E@%5('[]V N 0*DF[MQ MIU^>+=L[!";\CB1%%OOG8L9E2L$Z6,[;U@GY(T6YPW8RQI6%O^DTOVMN&[4P^8P_I=3[GKD_8+=7]%N@N=#*$+* MPP__E4:XK4CW$8AQ%<6AZ["+<>#\9(=B=#SQ@G=*DTO!!)7&X4 6]MNRG:EQ MV+R%N/.=D&([8]N[9EL_;A:Z,2S6\Y0=X?6#]."9#A[L=_QR-PQM_X7=M[V* M?L%86.NKZ.6B'V^_4/6B%W 3VK5.NUDWK6RMBESXXVT3CBKM;45*NPC^__&E MO:UB59I>MY0M\8++W1%L":R63R(ZTX.3,Y6HG>*N24I>9F-=6GRTZB.ODA.. M&7FMC!-TQ@FZKM2U;=$5R0DB1F KXP2C^ABLY(1CQELKXX3D/,8P0"=4[5^= MS<%UMW0J]7("]6+R=+&\:#* )X%'-L\_%^#H*[\J15DN3,GY]/)D%-4-IF%O-%\HY O+/9 MQSL-[[1JG6:[7==:V3HVR3L"\>AG?: MH'=4L][6BQSF9\M3E\M15PLBRY2GZF=1GJI75)[ZA >@H\ #_H]N_S-UX_=[ M\&=OW,CQ@FB:4Z[:5I1,N2IVMM:DYM*'^<2+6A/9]\MT-G M1)IU@IG0=1),0_)'8(<#W +3.H3W)RNJ:5I\^+Q8R4C6O!J.)^OOG.GD;T9 ^OY,W2L;V^R(9YPD M2/@TY,U/^WVV-L&$^G!7^)/"ILN-1\0F<1##8MDO+R%]L>.E9;&95F.=LB98 MK/O74GUQ]64,T68JA5$8]R=,1+7I^I,9YIS2<3C#J6159@$ M2.W!+PU"NHP&B[PX@)G5D6(C>T#LR20,?L&X8@I,6C95)42.V9O MB]TQ90P93&/0&"Y\#8;G.K2QK#OW V$PS\+*&159N;D]ZPW1>:%^Q&CV2#U< M\>L@BJ/,26248_OT'-NG9VW?4[]W_7^O_N@^W=Z0Z][WA]O[IV[_KG=/'KYU M[WPM.>_6A#*47-U@E2%?)EU)#6:B<*:S#*W%S*MZ3IK6&QA7^&!"0^9) M^@Z]>L;56?=5=K:9^0PU6$1 \?AXC0LO6@3V:?) 9X$CF/V-0);!Y+-B24UE M,]#K\]L2=XDKS]?$U-_Y?7@WN0["26(SV6V$:4'X%*N,,)KWD-IW(J!I9R,^ MK5$'F^Z"HP4*W+.=A+9? U2LI#OFBA,7^A&(S92UIJA&0F3!20OC/"UI@:OO M S+D1BJ5&L?&0/2*A" -9P.&VQ ;96R#GS =+T2^YS[6DH5%')R*QW^/:3AV?1PZSA-'$C"6#:D=!6QN>'D8)Z\H/67IG?8C]' 1[YK;UEQ4?0\LIAC^HU7!&M1:Y62+7PP T /OAY MQ=;_B^V]V>\1!@47)PBS2U[0PMFM$F+MW(;#XG.S"DQMDT'XAWW: 9!1B$KT M+]MW"ZU:A\%](4]?H_X%W_@?O]DKCNL"_8_%3?G;AM03ZST^]!Z9VRWH0.][ M_=LGTN_!4.^?>M_N;KI]V"]\O;OOWE_?=;^1ISY<^'Y[WW\"C9QZ_I_73N:$ M8KUF__;#MZ<#5/"?\V1[_4XG"XB'5W6A=CK,Z(! X/:"6QK;8V:GM MC'&T:H8"U@BX3G+?A,(&AB>EWNS=!7?#;S(Y)LB/1AQ'9&+GP#]^$ M)G[-%+[[.=GXPJPJ=VV3I&H70B'M%(+SD0DO[80&FA3,/<%J MNPY=,W'/"YSD5/ 17(X7'S=,#RQGB878<@)J5@8O5!P5C[N 88!HP"S_BF-1 M3L!WRE790Z>*0\6D[=BAD^'"B)R?Q$0741JXQ&-+*^S M[R$@#(;&O#0L/8N>K:JA$G&RG%@;#Y*QD2U&Y;*(G!M24_ KS]+ZHUL*5 MD)/46N./'!?CL]UNZ$JS-,1GJ]%NYW^T"T9DNQJ,2/C W(P1*0&9%*@( MPTT2]_$H-);XI))/SX'&'P6?%,,5'#WHE?I36CDT4,&4]4+L(FB'*FV?#E7% M)GY6J?BY*93M[:VH6)^9_(#;+0\X95M1M17LW-BLMA-54=TE<"U%K'RAXK2GF2\G31\J0=2IZT6L?,PK.( M*4]G&(PLR Q/U//PN# E2@I_9N H2(5UE4FY("E,^H M!S,XDE4VL4J!-L^[L0I"8NW=?5VRBD"LTCP4JS1AVYC-E92L&-7VE7C#!#,V]O+' MD!"\V8.Q MZ[M1'+(2:1EU.YC,'.H82%-A?VQF5:O<()\OKQSJB$/3L!I1E!VRY)4J>.50 MT7Q-KW5:AHS17A*O'"J*LURK63.QTXRDQ$J)W2BQASKDTA!1Q-S;+Y,2*R562FRP@MUR M&(EM@7>= =IVIQ*[I][+:W269QV8$^Z8P M:.B\TT0N>A0'EPUG^%F(GC9D.&Y)^[^(@9F5[-70VMRKH1"^UWV0P$\Q#+.H M'_#.WK//L6CV/HC_F\9S]*^<5@X:UB8VLBVB%KI6(/(6I^Q")VL^>Q+ GPE( M>#QRHQG=DE^=!"IKF88+\&_YV&=:\W@TX8AH7X,PN83?4YL](5\%>_,QY9"FY8#!PQ" MA@VX@NUX5.3$4J@\FW"P>>^&'H<C:#KFUQC$ M=1:A4F^*CE!INR%YA0EQW-4E!,<9'O\"#&4N?Y$,[B0S)`&\HUIQH!K4/ M/@WOZC"-TH?^X8$#>05+$'C8,&#"6ZG JN$7QL& >AQ:-UZ"U,R8>'N^'(7! M)Q4A<"5;S8:AFF5Q)TBH )F[I9#3"AT6AK0@[*D&B)$BU0)-R\*JBT M$(:Z#(RH0CA<%<%M70;%/@JJUJ,;_;P:HJ/K(O&Q2P?X@R:$L)V2@AEUO\<..^N@/8M9-WEWI%L,]E MDJG =O$V.:Y(5W6MU%NUCM+(Z1]Y@A15\>V>9'!Q[%IA#F]+#K_DC5_*!\M] M9,=V^).R'O<.):\!-CKUL G;$!8_" _F]):G*&,@O24D:<_ OOUKMK1+\C_O M7V8HM4ZCF47?DBQP,19@.P^HR -9B-T/XMG_N7H4-LME\=PA;TZ]=+#WB65] MG+2]R1)1]41$Q':2\H^242?FB,#S=A%X+B,"?1J."Z3Y& CEV9A#0L&O-!YW0&5-IF&95G3$-H]R3UB8+: U+ MDX.ZX$'MZPCN:P@K,:2"'DCSYM3_> Y_ZX#;R5M4"^-\"$JSU'UG5.MR%Y[] M?ON+AHX;4?* 40Y!R;AQ#[1@MO*,U/%I3!+ZDL=9)_AKN!DWC%/;(^AZD930 M%8S.*C2X3^^+NS'NI,E%+K_(W9>7D+Y@END=+*GK1^#/,B?[!$OJ^CS\G--- M=+[ QP[:LC!$SP*M!O"4TG+O[KY4%\9(%[\W7^SZ)(BZ63_C3\=4@8"G].(:\>%X3 MMK:*5F^VLZ6(LINB[*ZS?T'M PT9"V\4#>V @I$Z)(D_DKIZS-/+DP@30:H; M[:HP0L^@5OX0.KQ*A*L=QZ/'@<+9 IV-7 -+'Y=L/&YQDW:;A7-N4M4!-M=;1]+IJ92Q34^%/O.4Y]_X<\A,O 0LESN.,'['31 MS^&:>JUC64:]:584KMOC'.YBS]DN\AQ-%_0::Y8PMI(QA MQIBV/5F_V<0X=P9_52I1J42S&*=;.IOMJSW_Q3&'V5Z&%YP$>&F!_6>)=+,\ M.I9&EX-VVL2\A$OK7"IV="E17%BJ<QLV+V_7SXJERO!2[/=[V6;E'SV-QB4;7F M)?9XO8QH_PD]^ZWLM8]GW\8R7/W0%==2M9ZC:MW%L]^EG'SYL!SY?-ES5W-< M=U.IQ'6O2%]^D,RC>8\9[/QRR@2DC30UC[UH6IDG& MWH5BL"T>^F&89YT'OMT!-W5D*U6&UJ5>W-D!/X"E7PV=%VX@9AHUT(B6IFJ_ M"Z(I"X!(X=\)F)/-W9(%5(!DM0R$$IH$$>M9^(7A([FO-$$04A6VE MW)9ZI M,K_%?HX";QJOOV4%'DI;@XUT/-:\(II%KE9R:Q9^CL)T'!/0@5?/(;5_7ME# M&.87VWNSWR,D_^($87;)"UHXNU5"K)W;<+@[PD'>U#8U9?N'?=H!D%&(POX7 M5U<=1U4XT/OL=N_Z]T+.M#[7O_VB?1[,-3[I]ZWNYMN__:&?+V[ M[]Y?WW6_D:<^7/A^>]]_(I]F$'"?UT[FA&*]!MWCAV]/!YCAO8KJD;8>7-2% MJ6)7=#0XJY!W<-6HK;V' >*)!H''L>6>J1>\+<+?.6 _P(CA?0I/%CSKK@HI\@ MBC'S_=ECBO:(9H!K9(:U5B?TET-AISNAJ8]!;-;(NQCJ^65TAI2]-/?KI;F# M:K@XBD@>DOU8"S:=X&W=69/WA;;R"B&^#763.&K5'ZA;JI1+*972PN*&_8MJCB27E]OB<=[:PIVU MMN ;[& XZRQ&UP%;7D#Q2$F__ R*1[;ZW1NWR-67A6>0%OM!;'N[I[&U*_.V MQ2G)DX)T"8)DGI4@M10I2"(*DBQG7-Y.GDJ0L@*#&)RBU#5*69&RDMWBB2,K M6JUC9(L*3U@#G*TS6%M7D$V%3=,Y6:.= Z3&EDI*V90C_PA;\M!EM< ,OH"P MM8R6\V!+ 2;G$ F;.[%WYI0"3.1TQ7@_;EM MM@(7V9Z[U6P8:NF,9;/9T"VMHN39IEY1\JS1:&M"#FIS;K=L.GW G'Z>IE7=M+7;>9_M[+P\1?0Y$%,A2T;B%ZED+!N+7IS67N@YNHO*ME36#&'_KM=B^=CG>5H@;JO-?.QOI-!' M/%&PSO5$P<*&PD:[KN4TG98HN!(%=].)0('"(_%.!"R&^&R* B2>D[8F3II4 M-Q^,T7X&(\4@&-?E0;G1/)UJ0.PH2;8Z,ZQ&RVJH;:,T5J/::+9:5<$&:NVJ M8 --)?\C.:@S&=1FGA(R1^Q",! E:F19BAT,-?+CP"Q^S%E?.+ADD7!;><@[ M=6F/?18*HCP\X)I)7CJ5#@,K>9ZTD!Q3GF,N%T1R#FL!>[N?-)YC6CP^=5G1 M<^OWB+P>)']!)L=^Q.38; BL?:">K%MC8#/F7Z[2Y"?V.;6:EE'KM/=.FY(0 M65) 3SWC4@)J*F!)>*:FY")WF@(3LJ]AUZQ<[V22&\$G%. MO7M^6J7-.4J546?0'CY]\]Z)/9D$+I:QD4E((W< _,O -*0@#AT81 MZ5-GY,- 7UP:D8B^((^3D#K4?<7;%JC$1&/M67J,6#P(4U(V*9H.?D?=*F]&WK0!],]3]&Z+ZE)Z4(M9*'Y#/"O M-+MTN$;/P%_!&KW'68P,7%&TI#.V5^E.XV1_@U6"+XH.FP>3'_BD-%,TA6$*S.A4 M-C!% )X)6TO>U:XAL!W^;H?.B*_ES BCC;V^[=7)]=<>XQ2[S>;'*;G%U*<\M2\DS;WK#'V=)_>>)/BI8,'4S;06/W!HYD1/T<.]?6 M:YT84TNR6C]('YUZ#M'<=:C>43@='LI^CD+;@#VY7F_JV;C9WIY"2U1/H=U$ M3R$;B#AS3Z%0!OU1]*=9G:?0%F92K;*>PH)7D-7"AW8)%C 7[<&_IZP^YO:/ MN_Y-=P:Q^$[M, %7O '-R$:O4 MIG;BCP FC'_BI0C#.58Y=V*^YDA4.XI@+YPN.7Y]$@;/ M+(M[D1WL%^"$B!$0UYZ^HM;)80SA?16BME(>.;B?TE*/Y:>TQ?!3SA7D!L0' M=I]&.Q?E9E]'I25J2 -FK5ZBI](2):8!!-8J$"8I-HJ:<6R<%=BS)7Y+?9S%'C3>/TM*VZ MJ:. M['B.P171VN1JA50+/T?A/(GWA5X]P^+_O+*',,POMO=FOT=X5K0X09A=\H(6 MSFZ5$&OG-ASND.J^86J;CH#^89]V 2<%5!K?W%UU7%4Q7$,\YD:0[MI/S\/ M%571Z4!1S(%B_P]LBQBJ/%U[_&A M]]CMW_7N!1WH?:]_^T3Z/1CJ_5/OV]U-MW][0[[>W7?OK^^ZW\A3'RY\O[WO M/Y%/L]X!GXMZ]\<4ZS5%'3]\>SI 2);/>;*]H@M31UK1KXQLKP2XVA2J.\)% M;6!!-1KGN(/5CK^#[8$W@.X%]RY49OY?N)]??J]6Z#Q$R+T:"&.SKN0PS,(A M6O;X?F6+"SN0,9VYJ=1WP9V#K]M\;B!;\6AADY)N?U;0X1/W=9&-G!"4#JPV M>0/7KXC;BKZO[P![S#@P>2CC8M?#%B?P]<6[\=&EY?U #=W+2_N:\"W?:ZZZ MT$:=A6;F1Y\IZ>L$;J8;9+&+R!(L+MZ('4PH&:4Y=7"]9N:F&1]Z52R"@%BQ%& MSXEVIXP9( D26SB+=6<-8OG$N#H^[&WDPBA**Y-"YW("PG4!'R.@JEDWE6R> M*Q!J;+,XD#W+@YGU'!,[IFJ)LUM0JTL4L[8=T!QQ5E5GBBV)_Q'#K$!BEH=M M\S9\W(RM3PJK+$!Z,V516M;P!\[8*4LD ZH;^0:!2_Q:QL#-PWGITQSY(H178KF-%29YLP'F]9R;"_]5_= M,/!Q9D"'W#Q[+O%,2=#QQ O>Y[ON*8KS?^'!QM;="KROK&MA%3I'$W&?HAHL M[F&MS[I/]WA,_;_/?;_2-#K;V)#:A+U#!!>59VB05Z&MV')/46F-GN3?/B:3/ M-"/L?#R:T&&5SY8)FFJS^?:@?#C?$F4?KUH;ZA?7#;XMRN#;^2<1!1>=N:$T M339(31Q\OVQ<(DU'2T,39?52N]!V3JZGA/@WR!>2,-OV22]/,UDDW39)/T< M0#_6^7B%@M="GI%H:JUC6;!-SY8%2AQ("9)SP)8HRT)S)BU10&"P9%P#9^V< ML',NNXNC[))^$*-VMA5DFKZV@DQV<#R8.C_;1NG ,(;LE"X[I9^/'(JGL3=U M2A^ZO^C@ZG]I&.3*7K/680#TVN\'WX$4TM8?H4OZZ;1UZ3;I)3C)7,])LH/Z M@;A/=E _3 ?U4RKS"LX-6[6.WJI;6G:7+)NH7YY2WZ^+.K +XN:H#2.[7SMK M!_P\SQ-D&W6Q)'Z=?2@$K2+FF0-/[:EK6G;'+?NHRS[JFTQ<@:1X 0\-=,RC M4AK-O0V<[*0^#4OD3\G>ZB(VYQ:R8[@<5-%![=5;_>,UK-ZI(?H%S5^V-Y?M MS7>:M6QO+IM5RV;5LKVYY!C9WGSG]N8/LKVY3&L]1N_']E(QNT"]'XL?H.MJ MU0?HLG6K%-\S$=_F>8JOOB"^FA1?*;X?5'Q%[8U>0GQU*;Y2?#^H^)J"BF^. MF")"NIK%ZA%31-=T3E]N/B+;D:QI1Z(KLAW)D0<@VY&<>J#WLAU)D-N.Y.B- M1TJ=+FT2ZL=Y>LP32X_Y <8X6I[]>D@FL<"7_J3D&0PV##"*IKP9V$KN#WH: MK*U$"I/+42TI1;30I59G>V X'0>Q28S\(PG8) &;+AA\2 (VE:>9!&R2@$WG M$&Q85SQQN@XY&XLGMIS/';%46@;F/F)@;GW=10'DYY/77920I,I+Q26,DX1Q M$M/46><*XZ2W:AU3K2OM;)<%64-^,$5? +Q>5!@GW4(8IQS4K[.N(A=994L8 MI\O2V+O#..EM">/T@;3U 6&<#$7".$D8IW.34O%T^184IRU"N"$57#K?%Z?. MRP$XE6"CZE*2Q7+*S_/D04([B:4+UAF-\VVY;>C5QFPDLM.'078JT'CPY"<, M.0QO5!-S.ARPT\;LWA,G<^WG3BO"!D86\L6-9JUS'V3;)SX^_4@KDLE@H6'Z MQKRQE3:*^4N+;]Z>/JMBQ*90Q\#D$JN"7\L@C@+C,ZM/UE2;G[DD97\FS .6 M"I[MK+"*FO*&Z\?QE]LD Y!E/SY,0V<$'/#@V7X?[OC#@XL+"];*M*#$B_A$ M"LL[P03=$)1!Y_;[P[?>?]_>DJ=^[_K_DHB>#ZQ3) MM4S>(I)\8I9DFK@_OT M\'#(\>13D!%"_?TSZ[=L#X()ROOS.Y/U/P)LQ.SZI#L)70\%7"71]/G?U(DQ MU]2>3,+@U?;PZ[Q%/1![%'@PHXCU-'9&)'"<:1CRUM!,4V"/<7Q0'3L7XUU= M'[C,(]\IQ=:[F"S_M/ D=8 QZ-TGF MC4=@G%_@^T#>\91G_T[L]S#P/+ _@RG3X1&2V"[;'EI7E,,X.C=NY(!'$7\- M@_%WAH+Q )J'IL*)GDQNHV4#P9>;.6V5!\D#R1">R!C6\8((F2@!V9C@\Y%9 M6"?EE) #>%&28#U[@HL=M1WS;/M(9_F'W&VX()Y5(>):];YH-XA,OC$WN�+W3">XZ"7=#EU1#^-V\$U6 M;\AS3KO3>!0PI,KRVRZPY5I3J2LY#;-GH8!A0M %/G]S@:&?*;%?;==C.>68 MOXZ9]:PC-M.>;'61M F5-SPNX0'VH.5[9V^:WVW/IDN>IS&N ;P6-5D(O&([ MX)&%LSA&'=C!\:;H&J=/"&G*<4R?3J.4$8$M_(1#LUVGM_L+LT5U1B#H'DU6 M)[.\:UV*;E(VP(J3P:%X(,0\0HFGFF )2'3,@E22>*J28_;AF(O$4V53Y0&)64SGI-ZP!HA14S944E%@*ZTOT@MCV84\2..J.#H,OLG34O"*V* MIT+F3>RL5$<."NJ*VY^#@IJO-EANXEJMD9>3UFS";E:4,EG)_Y+_\W88A^1_ ML];1)?]+_A>,_Y5C\3\B:V0SA23_2_X_*?]O:Z%4&?];L"_*]I[_&!6)Q][Z MS)) /^7E>18YM?UH96$E=<$9E(55OQ?J>E[@8%+PFNQ,SEVYPM^N=;+ISJ+(;?LKG9@^&U MW (NH0K0%TMA2Y7A8%6;%T33<&TASD*=5;2NT"JG#,?4BY?A-$]0A3.A(3\M MXF5VT6(7DEE559J@%9$W"M\L7Z C1H.1IMG0+:ML>4[3:"BMJGIYM*QF)?4= MFM+0-4O 0>F;*V%D@Y'#Y>9?)V6SO"J7L+)<07'VA*'9'%,@0ZV+#)@M%7&0 MH@G9LJ.#[.BP&]Z2KC2+@(PQZ\B). M#H-DC7*L45BSMFJ=9J,M3_N/N7DI4EDK6S[L)AV%6A>N5YQ6K=-N6*+@E4K6 M.#IK%%:<[5K':AA[IPF*U81#0,6YY'+NICFE7U%$/ KUXEBK.5M*K:/J#6WO MDS;I1"G3MXH\8/8';IT ML( (G""8OHT"SWN_"MY\A!N=/D?NP(7;Z^1?[H#"8%_>R=W8?L$#O 4,['IZ MNPLK[#-:Q<$B6BVQ/6\!HI:X')WTGB*RO,?@J^#6@#UC:#NNAXB;20H(?OD[ M4 $&[ WJ\&L4VDX)O8+O7H.J?WS MRA[",+_8WIO]'J'N7)P@S"YY00MGMTJ(M7,;#HO/S2HPM4TPY_^P3SL ,@I1 MV_UEN[9OU3H,(Q]Y^P)"/1Z)\+ M)@P=5:S7V-\?OCT=8&>[SWFRO<&$K3&8NE F3,#6"7-+>#TSB,GV>W9CB@G(CB(+>-WC0S M1P;;2N"'H!O :G)!1*1_((X-CYD[87;,@?J9YP/?2D#FUW!'Z 5O-$R? /!XS)'C'6- M8)/&-AO8KB!]&P[E3'GP^"S(B.U&K.C/29)8L1D >-NQ#0H9?.5WU@;"HPO] M42CM_^J&@8_B:GNY4BQN&Y[EH<_F>3IC4L=..\A5 MJ %LXM,WT(\4MH%<&?Z)K)9TV8DH]H;#UAC(T&E'F#0SFVL/[*#!^E!,XY< M'SE[6":%>PTIA&75+K9N28P!U\2@5..W@/#H5L18E\MXHG>Q0X@=C8@S@I%3 M3IQE(@8HJB3 ]'%WO&PPGJE/ARYO]O+7P@+>)BL+?U6*( M6PNU&"WP)8VU(>(4N1JXZLXG&-3CH80B5.-TXBRVPDV#RJV?NJ4ZK/CZY2R1@5"^.7UR MTM5!LI8[-$4N(D-:.R1_4I9RZD7GW48"A>G MEV(/K I21%-%=K:5-*UFPU#-LI4T9K.A6U55TC1ULYI.*4:CK0DY*./4[5L* MM7 0II2C^O8MYS7_*MJWG$>+#B73HJ/"IASGL-2S+BQX"EHP@?C#3/\24A_S M6'Z'R.F7@^5'%KB_:'' KL\_^O@N,C6,]^%(M\H2,5@BYN5M/+>@9"WMZJYY M-*%,\_I6BX?)5.UW05*9).]+WD]X?PMB5C[OY_"X5>MH^MX(6;(^9,OB/M(D M44K6AE0N"ENPA0J+0KL*7&!9&B(09S2KX0P+002KJDZ6I2#KUO8A.5&,[5]) MAL+*&:.L#JE<0LR*) 1S_O?NDR>.ERPY0VU5Q!D:6-6]F]5)_W++VO;P)%KZ MEI5+@561%.A5Z$?I6PK$&662;#9QA@&<(4I!^N7ZEKP;0V[F[W)V1))U=$I7 M\Y*;1N:)DE8FWVF3*#4K;&QR^A:DDIMVXZ8RZ6B;N G;I+6KBHP*U#ST;'S: MM."4$O@GS@_HF@A"Y-*GT 6G?/[*HJ)#.:N-N$-50Q=48)'6Q.(O2_!CY')<:)( M2$7)'VV]UA$%#%D4) M(.TFN")["U2I13B#T\@/QTT5)8"TS;/@ILMU>0^5_R%]FTW24U'^1[M5ZXC2 M=DPR1A6,45'Z1]L2AS$^F-,[.^(XCLM[0,=$$"KOTRWXH@^T]8K2/]K8AJVJ MX*+0'KT4EH\K+-5D?\";ST)8*DG^$.2X_ #)'\]-P9>]C.TXXA>W18H<\&WL<82NR MP&?]WH;\6]@Y..T:LM#W)ND*Y[GV,W;&<6GA?B%KN>RX#4-,K=%JMZP\*.M%'=?]L>ZX22<8!E M;=JNL86[\02(BM$",.GP@9^$!IQWWLK;X[$2>_#O:13O+C#2>I20EP@&#;\5 M\<3Z\S7JSI8H5Y):V(U7FI8#K_NM/SC]AFW-8=?'34/;CR#GKE_*)'_/-G@Y M&H1A_^W=#J#"E:GPQ';YA';U#+=(A_ ."T]E8^A(ONWG;:H!OO_6R'OA@PA' MT13-K/YT1VU]YLN=_5GN;.>!^A':+'_ NA\\!,"#-'9#BO;K#^K3H1M'-V[D M>$$T#6G> 4^;\SD[(>O&Z45\U?*YS^WWAV^]_[Z])7_N3AV_=^Z?L M.?WBPJTY*N+/%ZEC?']$27KXF91NJ^4/-FO("X1>0"#A,=%-NB" M(3QFP(@7NL]3=H.AJ)]^?B83_!8X@B28AH2.)U[P3FE$WD8!>0O"GX1%H2GY MT7AJD$_X&T9VM+GT'RLHO.F0/2''XL0/.;S\=6%T47__W""D&Z%WC4%L+BBZ M4B<8Q:X3V_/(A(9CFQW8S9J-9))<@ MFY2"BN=*;^25+ !-M&0=EBGRJUW-D87;M]OL3^?;MND[Z0.DX#'P@ M[J+,X.'H#')54GH;I5$GV"$E=DP\:@-]58N\4SMD[&N_T#K[%(;YXJ)9CP,R ML7$2[@2K0A-%DB.K(#%_4C*V8VAL[C]NM+FYDI5:ATUN__Z M&U(+*9%.]?_!4WI_RE*?QWALGS#QFQN/0'F/[5_N>#HFGCMVV:[]KQ5$9EP_ MCM?-]SM_89>-:!Y=@4FXP6#KN (EQO@RF(=C#043]A;EIM)^U9JISCVIB*5UY?A3:C9A1APW M!S1"B,9^,,]F8>(_7D/2"#[UO."M<%)+4XB<%MC;-12^ORN3U&)8#;.M5Y34 MHC?+W;$VJ45IM)7\C^2@SF10FWGJ"#E)[;-*5.F/0O!5UF8E7?S\J\C)^CC< M,DMK^E \DCOK,SQ>.UHBWPFK3 7E(T;'3!Z@,-6_9T]70W*EY$KAZ&I#()EH%1>];PFA+3'MXI(WAV03P*F>?6_/IXNK:N. MV1GCP ="AG1(PY 3$2$8_'G6BD=97@L0?4#'('GOF#7C.B.X9Q+2"(LI,!N/ MW[Z8[L'.MF?Y8 U"?N"\V./<$2WH-X1%X##T0=PQ:82^7Z\[\';C1VH\CV,"$.C&N6E\^$:;:;EYD@(.F[UD 6!C MMB)OP">E\G:6,[B;.:J9\=#U @NEDWN_]NPHKHF3G)_J"W/I(62\$_V5C7K.:E]>L MYN0U/]W^$X&"R-W]U][C]P3T:)>D9O[PO'=JHB4!C>Q7NC[-+^)TWKA= &JM M+L\]RPY$E"%<']2%R8)%V<0O?SJ>)7XE,J3,UTY3-KA"CZV3H?>. MSYN$P3--#.&5XX;.U(W9=\' S0S5@NW*==?XR]_@.4YBT6#=OMLA7%0U9G\, M<@7C.5DB?JUS'\24?-(_DRX.D>.B.33BZQ/! MXMHO%*_A2D>?V=6'Y!M;'^PR_D Y&U'.GWC[*R:8$Y"IEX1'^*-YTC/G!LIN M?YY&,$EX$QS]-;N>.,P MX=]$ MC3P.];9NBQ[4^'-A:$ :NB>^.&@RM,WG[GO([/!Y^"CC$7%U,9$F2Q M;O]V^5[.YN"0DE<[="G<#P, (_*3HN"TP;CCNPAO/(W4#_3$-WD M.?A9,H1"'DW"O1\:J%.70)U''H $ZCSU0.\_/%#GNKV"EK]7V JA>73(3+!% MH)%8I"*F]GC1K* 5O+[ML2(F+(I,W<3KD4N'9.;0DAOP?[%.%7RNGV X[&A6 M/0.AB20M&:!RP MXF08_O_LO7USVSBR+_Q56-X]>SVW:(6DWITYKO(FF;G>.Y/DQM[9>OXZ!9&0 MQ0U%:DC*CO?3/]T 2%$298IZL4BJ3^W)))(( MV_;C3Z#<%40P],)/;NK(FX MYCSB+/1%X=2(8_>.9(B8_4@=++CK\1_*+A%6@3!7Y;>ZVA#52N[O M2YJ'ZJO7+PCWC+ %$ML4AF>^+/=B4S2K_R,FOD\]RZ('[.HA^LZ7APQXP=]? MU)P:IX>)>X/&XC.,-'W'E@/Y:[=_OS MZ943"#\DOB0O4NAI)D#BR2-)*U.DJ8N4R&4$DHKC-*#7KC]!KM!_^+&&NCF_BWR MWZ8B!.X I!^F" @9H#W7,O>NQ M#G1'Q"'[SIPM8@I.M'LB9GAQT]&[[;WK8@DQU4%,PU71(@;&PJ45:J95%"1K=_J.XI!*$*6=+$DZJ(=8$E?6BA[E[<#/6.<:@TFW/V M-&^?0JZZ[DHK.U.EE11%>4'T2E+Y%D?,/<)6;RXR^=0YB#TNKF):$9;?@+;R MWF+NE!>7'IQ$]6YOW8PZ8/^!;?7\+B??TP=C#^1$.3>$;S@N%",\!\38!,\T M"<($X3>%\(;CRDX0'ES+IOPYGN\.;I4+IH MR#P]GY#-;4$KC'WN:SG"W4#;>'YH9D?QEM5)YQ["/3Y\W9-VFQ&2+^.[5'HP MIQ,;2JZKUXYQ<3/H5C]=DW!U.O_L#J@RZX&J.KMF"^J?UYI,G?(Z0GJ>TJM* M;V9+&/XP8>$CSU![8(I@U_.XJ),020ZYWA>E'F6NHR M :Z9@%L[Z96!VSJBNL;%S="J-)Z:[9F\6[FL97^_).5IU&9F9Q'IWW<_7=9K MB;PD!5B!G];RY.HW[&-@KIN%V^LW2AVI-: */*-EX615'DYU]HMNT2BCP/5Y MZF2)GL7"5/:2%4PLDV,KAQ".E5"2)VS M_4O&XRY_$U&X5^[EO!QQGX_=^*>U8UWS;GK)IU$CFR"_021RX:Y).B&[_AQ6 M_R6](/;O FWR=P_L!X\^_8A#!M1S?1:^W,5\&H$:P=>&@><)12)MW-+NQFZW MKA'-.AS:2 6507D2'FOGG%?DO$* )]D?+>H]EO+>+^>T7&2\0H M_XQD_$BQ_TH9]9@HHYO==;]!A9S8))8DEL?.D'CK+7AX<=,=5%KJE LOF8%B MP0!$ZLV##)E%MF$E3C#')AL)O$X= J'9T>SB,W-ZW\]G,X]/N0\/:!_=R/:" M: [*[GJ?;C>GSONAYROV?&.S%S[R60A626Y_J+VCH=58XO8&:=ZZ:A[=+0SL M9 &09Q_VC(L;L[OW/<75B?<3JIN ZH)812&JS8N;'H&:0%TI4!D3!9"N@.0-JMR<7&=?46O@J/B+().;K8HH?@%@@0BQM!OS+7N?,_L!GZZNXG M+.2"UA\RI/[&_YR[D1OS>QX^N3;_"HL)G&_<#AY],G;&)05]98_!<:&%S>==E5N'F]L1$YQ3U9H 6,QF+U/2\4F2D?AD>4K>TF$ M0UZ*\S4,G#D,_/3*]0M] W;JJM0M4F7K\<\Q^!".^$]T/BW3H.WOM@?@WU8;\JCD_".^%=X+U]'+P/L+E2A^!.<*\4 MW(\#]B& ';1[+Z?MP G#6N]B-O)XTFP=_DA>FQG'YEC4K=AU\_,H?)=V35E[ M;,K"1]>_DF^Y[BZ#.QU(O#1=H"PXA<5Y;!;QZ^0O[QTWFGGLY=KU!4/%0^_7 M7["R0/$^^?7[9]>))]?#=JMGFH@"Y4U0+Y;?FBT R+OUSZU^J]ONYGYEM,S< MSS<-95JMWG!0:JC-G[>';9H430HFU3=>?WF! ^UUKVK_8D4^<6=:;;>@O@JE MILW]KKA)P[J&.'V[C8=)R+GV._QN$FF??(<[VC_F/M?:AJY9!L;D,KIZ2SJ? M8+?OEZ]T-T2W$=?7XDDPAT&=:*T]1YZ15&=F?_*X'8>![]IB;Y.[\0./XH,L MO*@PO-:4\Y]<()QLB2"(]\#MB0^O?'1?224A\DGR?0T#FT<1$:XLX1:7F?^- M36?O!0%%]W"B7"'E?#%AH)U39A.K;[3M&W_B_KS)[<DHYH..:_W'CR81[!JGAXY]O>'*F!?@#XG_/ ?I1V!@RPTT5/-P\6R:,^ MA"1J%12U@B25-Q$U\^)FH%O]0WG=2-)(TBHH:05)ZF\B:9B'JG=I3R-)JY>D M_>TO \NTWA-*":451FF9_: *NP$FG+?UX?!01>]T7VCY^KX@BK5@K(7Y+I!S M3Z$O= 4@_;Z,E;24EX .VD/5R:>GHHOCGVCW1$SWXJ:K&R:5Z30(,05[\9Z( MZ2%B^H28:B-FMQ,&\:0J4GQ<&>YC0Q7='%:ETKNQH4 1(M8<]\F-1 \36%VT M7H*W%=@;W ^FT"P69/R2>TGW9U[^.J[!X.*FHP^[#:KR(0AM<]7[ 2$T!!6J M6SV"4(,@5+#I'AA"0P,A-#A8G) @5"%+FGA2%;%^8Z$V+VY,0S<.YH0^9U?S M]CGD\KHG969K0<).S17\U"Z]('HEJWR+,^8><:N*W.=Y$(/<]>/X>D5:\#9/ MV;*1.^7EQ<**S'YG?1.L^C79I8!1 R_*N2%\PWFA&.$Y(&Y?W R'!&&"\-M" M>(-ILQ.$,7387^^Q3! F")>#L#HO$7 (.,?3?3MKOK+F:??BIJWWC?5HY]GC MN[$Q&]6^TH'#8\S\1Q<;1[!I +/ZS^M7+&VQ^/U+ 7=R_=#,CN(NJY/./81_ MO.B6HXR0?!G?I=*SN?WK$.\H&O8KGZ])N#J=@W8'5/7K@:JW=LV*SDEOF J< M5,QSZ4Y?I#V(B93:/KA5!3?;Q!7W1N'/P:]8S<$CHK3=ZBVR7+=%KU3-F2.BM&GHO]SRP13!M^-M1 M3 RL*M?;.3!?,P8)<+4!W"$/>ELJRPYV)ZA?')&\H'M1^PZ;2,Z@@_L="'*4-^#@(>1((C-F/Y#"G78ZX MS\=N?"3[H!)M,/-IM'T;S'(KKKFOJ##JN7 2);TP77\.JU=>I,"/_B[0)G_W MP'[PZ-./.&1 /==GX-F/2/Q).,5 /X9R?B1\@RJ9-2; M%N8K=,Q]\A5(+"N U3,2RX,&?-YVXVU?W%C#^F5UO%68*IF!FNL Q/>4]<-M M6(D3S+&B.^'#J<,M-#N:77QF#O;[^6SF<7F'M_;1C6POB.:@8J]WBOL>*$>( MGF_8\XW-E/C(9R&80+G-2/:.O%9CB:5O6:N.B?L&[?"S ,BU2CL7-V:3NML3 MJIN ZH*X2"&JNQ=/-, MNP\5GA%ERUOTL44/P2T0(!87T'UEKG/G?V S=-;=3UC(!:T_9$C]C?\Y=R,W MYO<\?')M_A46$SC?N!T\^F*4/Y@WS\U8-H<7-SG5,]3BJK8@*SBRG0)DEG%Q MTQD0R)H#LJ(&H*< F0F:C*Y1;Q#(BGH7GP)D%F@R<^^+P@AE54%9%159&Q39 M_K>4'@ACC0W)*>[)PC!@+$:SZ9;GDD>6K^PE$0YY!NFHMFNS,H M.%0K"2Q9)F4-+VX&IM[K-K=WI[I]81W@GOA\2[>1R\6]C+J3L<$MP)[M6!>Z\H2VE'M+6D\N!,X\IQG2ZP+E9$(E8X'7(/8;.B??/KA-/KDU#<"WSE)SVM;%X MA(VBP)O'FQ^9LO#1]:_4DZ:U+&E+4]X3A*:Q%0JOM'9'NUIIIY_YT,?5K1)BX]K&X^W7-MAB:9*N /Y M-BRX!K#R$'\%$V&GG8 V"5&N_^*V3=LV#=ON]$:\,V9=-AJ-#=-H<\

H[! M_J=_[C[[V-^W^ 3[X_=/GAWOM M4BD;[ORT<3$G%.L-'7K^Z;.YX\9KDY9_KJC0]*9,Z453MPRH]-HOX=?*7]XX;S3SVK7]N]5J&9>9^9;3R/]\TE&FUAL/\KS8-M?GSCM&C M2=&DQ*2ZKPY5$()X/2[5OUB13[3M5WO6J*]"J4YRORON=+.N_T[?'^G>_:'] M#K^:1-HGV(L=[1]SGVMM0]![]H:VB0'66Y13XU:T\M_GLO:2@N.*!2%=(.E], M&(CGE-FZZIL<_(T_<3B5'.?*Q49X/LNMN.8^T7;7>MTIJO"2-+#$,?_EQI,/ M\PA6Q<,[W_;F2 UTGL+_G ?VH[P'%<[%5D\?#@^5$GOZ9K%[U.^3J#55U-H5 M$#5,/6_KG<&AKG*JC*B5,V1(",]5" N"@&\BA)C8W]$MVN](U.HE:G_[R\ R MK?>$4D)IA5%:9D,HR(!ZD^V@?W'3[>C]WJ%JO2ITX7-=2C<^!%&,Z0%AOGMD MJZ*D!C<3*'03(/V^C)6TE)> @3"(^FWJ/]$@R!0<=_>$#-;,Z+UA@TH("#$% M9[/]$-,Q$#'MG,NH"#$50LQN1PSB256DN,"@WE.&32QD!D.A*I62C8T3BOBQ MYKA/;B0:0\'JHO6JYJW WN!B_4*[6)!1W?>&M[?A16^?L"]3Q#_S\A>9; M'#+WB%S5\$KFC1:YZ\?Q]8JTX-7,LA$N=\K+2^_BQM+A2$H7+I_8C7)N"-]P M7BA&> Z(^_DWR1"$"<+'A/"&\\I.$!YSLNF6L)WJ?/;X;&[11+8$=.#S&S']TL94$FP8PJ_^\?G'=P?/K M#^;ZH9D=Q5U6)YU["/]XT=UQ&2'Y,KY+I6?'EF!= QO@]7J-*[(AV!W0?WMH MT)EU 5V=';L%Q=51',[M>!ZB!_?UC(E]#6MZGM*SCK$5+F'XPX2%CSSW3HFN MA;=2-JC%Z[DCH[ 29DM]19-7[@,^>ZVTQSHH$//4_9"Z9U&Y"_\ MRGT>,D_E+90W>CN8S#8P]]8WE/52%=QLD_6R+VJZU4)-G0]$)3-=4A>WRFQ1 M>2Z4X'*XE//U($)Y :'JN3UE(6O9310N@] M"'HO]SRP13!M^-M13(SAQ4U?-\QU$V,MVYD UTS K9WTC@BWGH'I, -CO7"X M0G!KK+?R#ML]XZ4VREE)B2AG,;.SR C8=X]=UG6)I"2%7(&?E@3EJC43#NK] M??902C&I-: *O*5EX615'DYU]I5NT7&CP!UZZJR)X(]IF;[U'YU.FD4V4WR FN7#<))V477\.JU>>G<"/_BXP)G_WP'[P MZ-./.&1 /==GXC&JF >"3C.\6WWYK&>_7,TY.,EX!X)^1C!\I"Z!21CVFS.C= M?K?*KFL22Q++8^=*5$HH10N2=G_]FKL*":7RZR4S4!P:@,2]>>0AL\@VK,0) MYMC (T'?J>,B-#N:77QFGO#[^6SF\2GWX0'MHQO97A#-01=>4[$E/7^PYQN; MTO"1ST(P#W)[3^T=(JW&$K>W5_/65?.0;V'<)PN / NQCUFY.1Z/H5^8Z=_X'-D-OW?V$A5S0^D.&U-_XGW,W?/HDX"LC^H<.:LIX M4)0H[LDB+F L!K3WZ;_81.DH/+1\92^)<,A+=[Z&@3.'@9_2^QO6 3[ >T&& M#0H,$$P*3AV[P03C1TV*BA),"LX-N\$$ S+K"<^$DMJBI,#NWPTE[8N;=K]! M8;MSATF!X;X;2#!D,%ROB*:0P4'9_!"@WWKIJ+9KMC%)RJ M=[O:;="]N.GW=*O;(/\+X;T)>"_R(NV(=[Q^P-2'G;T3,PCOA/=#XKTHE+TC MWOL8)]2'.>6KA'?"^PGQ7A14WQ'O [RJMD-P)[A7"N[' ?L04XV&>J][J)N9 M#W*^?A>SD<N ML'3S\RA\=[/O2((D*?EE52S0Q&.SB%\G?WGON-',8R_7KB_6*!YZO_R&[FR- M_.)]\NOWSZX33ZZ'9JO7ZR%&E:]#O5A^:[: 9N_6/[=Z+<,R<[\R6OF?;QK* MM%K#8?Y7FX;:_'G'Z-&D:%)B4MU7ARIP[[WN\^U?K,@G[INK/2'45Z%4/KG? M%7>26-<0IV\9U?-=?7XDDPAV&=:*V'2)X)5V=F?_*X'8>![]K: X_B@RRWJ&:]UO3RGUP@ ME^K6\,#MB0^O>W2WNQK[K$GW-0QL'D6:L**($EZ>2&8_[+ MC2A^TYW+#H,HUH*Q%N8[0 CKB[&$8>Y?74B5(=2!3<*C=$S+=BYNA?H"B?T),=1!3L!GOB9@> MMB+1VP.J2JPT9'8[8Q!/JB+&QQ7B_L5-NZX,;U10:QH*,7W*O%?_,R]]:-!QQ!)W_3B^7A$3O()4-I'D M3GE!L?#FT&ZW?G=[EP)&#=PGYX;P#0>%PR.\C270>>$80C@A_)@(WV#R'![A MG8L;2Q^VU_THA'!">#F$JV,6 8> I#T[/'=V%"/ZL7I MP)DS9OZCBWTFV#2 6?WG]4NCMEC\_E6$.WF,:&9'\;+52><>PJT^+&BZDQ&2 M+^.[5'IV:\;3-GJB\]1P[]AV'1*N"78[NGT/#;I^74!79W]P0?)Q4J;/I?M^ MJ\X&.]G5]#SE=!UC)Q2QJ%^Y#P<13\6@RFLBO,5+-_>O]:9"N&K@O]SSN13!M^-M18([U[WJO MMW[UZ)HI28"K#> .>4S, UD.CCH7-P.++('S<9S>8:]0'L6)WW0?M^D1@FX' M:XJ[5[2IPVRVLF-4N2U5NN:JF#X?)3E5*V @C M;Q)"+(>009404N>S6?P^J5PRCPH[\+C,G?/; ?//KT(PX94,_U M6?AR%_-I!,H#7QL&GB?4A[1LRWLQAW4-L];AJ$8JX%Q50$$0N4HJP#+J&HPF M%5 !N2 5L%NHO5(JP*QKR)Y40 7DXHQ4P)$2$BJE#"Q,;.B8ZZ4U%7)\DUB2 M6!['-55!S*9@9KK *3[E(7/;5B)$\RQ%#WAPZDC.#0[ MFEU\9C[[^_ELYG%U:_E'-[*]()J#!KZF"E5Z_F#/-S;YXB.?A6"4Y'91V3N8 M6XTEEKY7KCH6\!NT_\\"(-%I[ MWPQ*&9ZO<_0^#NSO5R,6<5S8%%,W7V\7>J9-D H/B;)9+SK9HH?@%@@0BQOW MOC+7N?,_L!EZZ^XG+.2"UA\RI/[&_YR[D1OS>QX^N3;_"HL)G&_<#AY],S M@4!6'9 5M5T^!<@PEV>PWJ*$4%93E%51D;4O;H;FWF?Q V&LL4$YQ3U9;0:, MQ7@VW6M=\LSRE;TDPB%OC_@:!LX8-@4K#;[@:3'APN][;(""7504F!W;\;2OH7-_V]71"$DJJ@Y"B:! ,& M.97;%# X*)L? C2[F6##/J>91H3M\M95<]%L=XH.U;M=4=0>PD9OZKW>WDU; MJN-^(;PW >]%CLK=\-XQ+FXL4Q]8#7(W$MX;@/>N<1R\FQZ>V=6T=X M)[P?$N_F!^.+CW.L=!.Y9>]PR]VZU*C%X-[, M4_)]U\;B$3:* F\>;WYDRL)'U[]23YK6LHC8'*O?#X,>T]@*/E=:NZM=I?R1 MI,K\.4G+QF?LD5^-0LZ^7[$Q3/.:><_L)4)R9Q<(JU,OZ./J5@FQ<6WC\?9K M&VRQ-$E70&T@6Q%< \IXB+^"B;#33D";A"B0?W';IFV;AFUW>B/>&;,N&XW& MAFFTN6,8/<=@_]._N'E %&O!6,/^"NCX^OD=NUEF6(;^;X6F_&+B._\!+VOX M\.7;UR_?;A_NOGRNZ$0_?WGX=*\]?(&I?K[_\MO=Q]N'3Q^U7^X^WW[^<'?[ MFW;_ !_\_NGSP[UVJ;0&=W[:N)@3BO6&WCO_]-G<<>.U24S_,IO-Q>V4/,U4WC&W_B0!WL /+I!ZS39]Z'>01TX&'T]Y=?>? 8LMG$ MM6]!=40"S \PVM^]P/Z>V4)@9^*PL\P0&>&<$S M[$F:V%6T61@\N0Z/-->7NR62D8V">:P%\U![3)>M,5PWRF^0=$5I:9HBFN9& MFDROAJ=C> U010X5!]HS/#T1GSX&@1/A0%HT<6D^)IHC M !$]-HOX=?*7]XX;S3SV M_;%Y]826%6K]8^YSK6WHYX61W%5OB8T3^$K2\XL89OMF09RC.=60TK0[;TY?RS==_:2:3JW)!B2]K4J"/%EBLJ%0ON%>0^9!R=Z(K' M,?_EQI/$V7GGV]X/3AT-35C795[KXD\2#Q4.+1KH!X#+ 5KSZL3(?' M6OLS7L7&+T$(_]S<*.PL6EH<18X*4OC>1(ZPLUA7[W<;5*U#R.IU3X^L+MZO M.=2[3:H#(V3U"CJ-O FR\-K&H=[?OVDH(:M"R"IH3O(FR+(N;MH#?6AV*X*L M?9WWA[RCJ>@9%9-0R80Y5S-E@A9&J]]=BENLQC$;=?P[+&7J+NE5L$W:L(,, M=+-]J-/C03E<4>\,R3?)]U:5:160[P[LXVU].#Q46S*2;Y)ODN^T:NCD\MV] MN.EV]'[O4 WE2+Y)ODF^M^K9]B;RW;NXZ;7UP?[G\*K(]X8J]D5I9LE*S=\" M__$W]XD[LLY_Z^),; &[N3CS].6%O4ZK.VB7+2_L]EMFOUQ5V>;/>[URE6X; MZ],&K>'!BN8..JG77U[#2.:;U< <+:&WXCG\RX51H_#=UF4/YTRPC]SFTQ$/ MM;:9$FW/*H@J)6>7%+:O(5;-QR\:")N&UR[,L/?K;D41!W)S;[OK']*-?M3Y MU5!W'SO9O\Y]L Y^X#EY(ZRC1 Z+NDPKQ?/58WY\ZSN?$MWSF*:; ME;GXA<2 Q$")05%#_H.*P1#%P!I4I0EHK0VIHZ5?-N9F@F/(2[^@1NR@\M+# M+M%ZM[=W5\7J9/,3@OH%H9##(L@4AD>_*G?H['O4.&3I=-$S%/IX&\K47J+? M4IZMBYN.WMM?GH_!R8J>1$B.28ZWD>."PIK#RG$;Y;C3;8P<;Q&JI ;XQURW>PE<79B4'U]?X2?Y M<+4-R[!ZAPQ/F5WL\!WSJ6:E7O6W>O$R'3JM=A?7_?OMY]M?19ON_W6O?;R[ M__#/^_N[+Y^UV\\?X?]O?_O_[N_NM2^_9/IZ?_CR^>/=0_*;;Y_N__G;@_C) MEZ^?9,/R^_76RMN*7^=B.YZJCT0CIN/ULLX+J+TF7=_^)&L!C1Z)P.>(,?>"\1_/2R@O3\_>/?V'3V_O:4%$7KB;E^!.]- M)!%HRV+1&1Z^C%R8+N!4D6^LY-=3\KMX2@VI/;O &MEX?LJ9CS^"#0O_^35T MG^#7VCVWYR$(%(^TW^ _C[(Y/5C,*"FW=HR_-X?#KJXQ4!I3(2 4L=?Q #-_DC+@%1YHK=&%X'7\&X^$,U(LBZF(MO M<_SF,8"3@(Z-_O_-A6TN!@YE)B,H$?9#[/"?Q5A_B^[1H M KP#SK(9ID1H_,<,2.CB=.1L V &3-#U85:X>!?6&.D+KJ>7!^2(%W NA'^+ M0>V8R26(/(HHAH-)S"/@U!=<_T:@P,1\6#503!MQV >1??I7"(_5SX*1@,KZ\F+8%_G:\E(^ MK'XA ;DV1PGD!4D I$\,%$P*3D'K9SCJ1?A=Y((.8F&6&\#P.Y# *-WC =W1 M3,X9)"/]!O4)F^.XP&L!-C'T*T#!1P(?=M.LO*3HW J*:TH#)A1X,+$0+!/Y M\SG(9H@Z,$[$>2$$\QF\".D1S".\@G@^G8GWP,CW./E-H\A]BDOM@\.AHO* M=JAYXN!ZH[&S9)*:@U73'#]Y4^M'P*)WU%TS]\"T3(=.2YCFJ%?9R/7<^ 5U M.?\!&TF,$!$:]X\[8:=;1ML LU+"^CT1^@"$?@R#9[G[P1;"<2M3&SR(F/4YI:#A]S/^+O&$<%R6R.]JPS!Q4,+]%! M/8Q!4]DN$AA-##;F\N]/V)/0]+"H+DW\@&?!3V+F!3-)Y[@BN/$FPX"O-?Y!!H-J?W M,Q&;=F>3HG5B@RD/'>+@VTB[\](O/")$UAW JL#)VHO MF*F3&.YZ<-IREG"9TG[AEI.(3G_E\"D^BI[/)2#3;G@0PURXOL)8PQ@N',7Q MHXAYZA2+_YBX,SP\(]&1)4R#DS&' S5PQ>Z.X7CK/#;BQ-J.)=>,@%R--CG MLQDH'=@;X .;"4:@A:YN]M7&C/:$?4](X[$K7 <"]#:+)K I>$RZ$G +,3;U9,?/3%@&[1I??0[&D$W$F<7F.5-D'&^-[^@3$<@/!L(XXZKLCN@0/F3*2:R_BX MT!X8G8]>(DR]!*1CVA2<:>%K*'0E%2AC,@QAVL",K MTCWD*J,(/_C.7S"Q)PI\GWM)@E'&/)JX,M-(_0#3>#(29@<1R=/^M@[V_4#6 MO)/&)#P)]D_('#0Z/==^2;Y[Y#Z)--CWQ+K75*$(!F""3N)?2+)R4*N=*KWVXN8K"V/M[NZ] M)K+>S=N6EDF2?OLX2IJW*Y@BC>O8H:WF%RZEM-%]5HEU.";JCB93[@A[0_. MP-, C[^H>B+,K9Y[CG1XRBT;SV9ILC$<,N8>9EMC%@.89&'JJX9]07CEXDD0 M80PMLD-W)-56\'IJ+>Y-PI\G3&D7727R+2T-,/NR^5%X-^QD<#R?1ZN:P%WD M7'H8[,BF5R=)F+B322O&$X;G7%(GFG'V7:S0=D-[/H77H4=2CL2B)#'<83*+ M[WGBVA/-%:_$^<"D_\4U <^8?<4G".+YF)AZ=S>%36^RFKRPQ$J*) M/\&^I%@?@*5KF0F,EY8MPVLB)SU>32*%[Q0O$R:BT ?9Z"=R()N9JN-)G<]B M7';(5780T-MCSSE@W[8ZJ%_KZJ O<)9XF!91$\G1:8*1K,P^PB6] M?0"($NA\DBI5T2;7EOJ^P. M QH/$\:9.A;(X)D+:!#1-3]X$N7+,E--9=N+Y+B8VY.D/ ++E<6! S4>[CZN MGPE[(C"%LQ:/(?AW.\1H-@,,.^A'1&^BB)Q*7"V2.S"%0Q?91 5^=*U]$BG(@0]GK@=8 MFJY=J@U%FOV1C$4NY5,)*FY$PED7D/=?*R"G4O!FE(*_*:C2O%I=&WMB>P3= M->+JJ'DE3$0P_E FP7S^2=<^^4\NR#,^ HKP(5%P6&"3)]JH3*88#Q3"G^A% M88>"K -.4^_R3^+3K^H7A0.[?I*U,^$L3M3G$VC+0'.G[%$M10Y=V8WEUO.2 MK5"%^X5*5PI6Z-\IV+(NF"#I:F2=UK,XA( JTI>29Q;&!UHJ2W$]T.D?Y^(D MP#1_+LZ^F%\O3^_ZDJ=?OOF)A0(1'D9:Q,'@46Q*DF9I(=>*)T<7&QS_ 0:: MA^63:'Y-@[DO4E&X#T]RF0..:6\+LQM/7#*B(^NQY4ST;!)N)AD+?RY!(3)* M@8J9A])Z #%QD6,!UA^/LY#('(WDX4QXII)]756I:3!5)TUQ3PFI(4?P7 BG M&X?+JCN>G<""16)JPM?_"-N3+]>W)RVY0OTN+K+(* M)JV^Q\/./!0PK^)9Y+VV0LFW]R/FGDET%&.T<<>!/5=5KEA)B]*@R7+?179[ M=ILZF$V.6?.@19@*5:"0@'Q6>D%W+=AA6+? MR#0G>/U-$WC%HJ. AXJ)R^>2U%Z TJ.7[A>NO]@CY.[*UY>-?BW08-B6"]#S M'ZG40C9SG<7I330PD&I.3_82<>##W#*YJP""TUI^+!81CZ@WS%B, 5L5O 65 M.!?EXZ+U@5"$LJ9[H6+1205X%LZ%4$9Y69JA+-/W545_VN0 QY7>,>R[Q1?! %DF&$3]P:*AL9*S,Q"BY/%]5L M!'/WX71;D3@+Z6D"SOI9)S&O]%6&K6G9]("'YO\R8U_].2(%U!O QD64A,(" M+8!"VJT$)$DTF?'YLRBR$/I,N*OX#U<@05\9:,Q&H:K#PP,%2BW""5UE,T"+ M?'9Q5DVV*@W>[$O0K\$XZ44A6PZM93=EB :L3MQVTFB%/3 (9X$ZC\'726^) MY6?1$A])K2/5R,)%MU#A^E*F&OP B)+96N0B07^)PQS/3 +4VF(>7#PV!O;C M-B.(*E\[\\"@2(:6Q]X%RZNLQE:TT@2^QGJ$9.\4FTB(1I"P6S(;)68[R>J% M! >R<4T$9 YY>CQ957W_*\JR?.FT]LS7SM#JX*:\_7($83R@N:#FB!N+.(R) M8*)PU&9S/1&>PH82IWM95R33B$1G(2GB::.:9#_*I!"%')R\J\( Q MKXD[%AA5Z]'%)/).:*]L<)HRMY/*5I1:C'CB%AMGFC+)68ZX7"-,X$7\5"74 MR *29=LI OBI?.\,T[!=!9("]W];UCXLJJVR5'&DG0I+G\BYZ2)J?X5WG"=2-5L;OPFR0KQ3,K]G:17D^44# <5=\K[ W HM4QDHGBWJ6:ZM;%(_BN =?IFB M9^%Z2%P;B:TE5*Y@B[#55D-7BIHJQ^G9QRBLC)'/Q%_7ZYHS]:/".).NAS]E M$SVYW8BBTR)T*]W(0V2.G8H.MIFR0:A7O$3"=9&,(IH2@7WH22HNPMF1/0&* M>H*B'AJX+R)*+!]A-CXA#0O11RR*9Z*MD7!29*WKU([%#5#X3)(/T!=CLT@5 MUR998ZF%EOQ%5*LV))Y6@H5PRL6I9X>#]8%<:$E MQH'G!<_B611D/#2D*'H=>A^*D##\)IJ"#$YLS55"+@:7VD\O( M-8:ES]$52?K)][G32_7_O^",*AN;I9(79:>BW&4+:JEPE;._'FEVRO M2(F;,OL1K.I6=\;P #J9AJH9&/'[&@S$:#.L'/9C3ET^_*[-]D1JQ.-O- M911 G5E7%0K\%$1$Y-S+UXG3F' 71_A2=#G*?!(A64KSY2\8MWW5+# "JQ ' M%A)*JM?BB56^)MG[1"^\16JV4EK) M8PL5D5%88Y"%!6W0LP$&).B^13>ZU*A*9B1<+G;BTEGCEB2\>..$.;H*O+PL M/#"8 P[?ZCEAE,0Z\S?HS:3?W9)!!ML+-F5\$9N;,L[$^I2&3+U)L":*GN=% MSP<4/:?H^4%!]7O:C%5H4TR(]*4JP$ZE2[H OTN:V*JNF2X>!/@4Y'V&E4"A MJ_KA,N??H&ZR;;5$'NLB=.EG>YA)M^\9:>S(!\69N3=#K%B^P(-=["BYOX5$4OP85G)TN# M*+705X>OK+Y;.FDE/K>D>]&RP:SZB6\XM.>=H%<9E1#5YRA:TLT/]/:XEQSU-Q.?[$/.$E63E6JCT,37!,%,6C\T(TTW?I MBX14?=GCA98V$R6S4G,L.KJK"&^:^O,*A63D,C?DB;NY.+BG+H 9BY2OXYDG MP!:;/)KWJ]Y7^8CJ[BTCY*+1A>B;,7<]9ZUSK_3RR8!%1@JP;S:816XT$TDF-Q?\U[[7. _F$0NP_9%+?-O]4N3>,G#=F@G]"4 ]'^+8"WWCZ&7!XO M1#CL=U'U\J#]G?G?*QDS5Q,\8=P\O3IE4=AC)^*4[8G)X <_N'"!@NDG?B.R MD<6:1)06+P=0:14^V/I6%U%DM@S,GXQSK@@2.^"SL#YE%J;GBO9'@G.9O2:= MSE+I,WZSPG)5FY9$*U^9;Q('?8:=QF@-C&2F5=4?#Z\O1Z1D,0\]N"*8\Z0J M L%L=#UA6#QSO"YB"B^:8,:<,E[!+!(M(&41RH*N8S=4YX@(&P X2:0FDAMX M)E::";Y..08(1,Q*,0R'6]P@(USM !)D+[J\G22_*<)RET?9QRWQEV&V%K!V M_HCG^FX&+^JZ!.G7O'=_ %1N\7(= 0!EE"_#(N&UL'?PB/#,P,J+BB"2(P\" M6+< N^7;#?,\KTPV;B,*O_+MAC!"Z($0=3Q0NHL>)V+3@OFR3P )#N#=[VH M9Q,7(/.3D(N*YV!'$UW[, %IS=P+)?Q[::#*1 M54VX\.YD%8<*?ZNEYN25J,P&K"9/=&6V9[6>J1E,J_3Q)/G:_(7SLW@%(NN# M/XI(QB(#)DF123)U9;9BM-[<2E5?+M*RY#5LH3N:QZE_Q/71)X%)9BLW"R7W M&^$KU+K3B*H*YBDE&HI:8IDN*SL+R&9 NJ8\(8JCHJYY;3W))I-/?!G Q/ZA M7O ,6-G]5-BN]:GP5XFA>]GB]H-H<8OV/QH0%3Y6W?EX=1S,^ NH)0PYPU[3 MUK7_PZ9XYUX<,_L[X/TN"ADVE/+3OZ9;'Z96B=J?9Q;*2'TTP_TU@:\<0^D0 M;*3@N2INGKPDD:Y%)TG^J+++P:@)1&J" '(L0]FVAQE9(M0/'TUQ,6A*X)XY M'8&$>@<\"O2PAU#QUK4>UD1T7K7%TZOW6H,L2LB +=_OO'F7I(L;X6EB6"7% MX8]Y:/.EXG*;@=2[(NE ^-;Q:*$2 I15LSDW.$T(]V ?4N:P1$R2!)&^R97V MXQ:S0+7IXTW?@6A*DKP[30#75;@\2=F2_GAYVYKVY(H0'_/4C4EHMZ9U>)F2 M\Y',) &C4+H7Y:DN@6K:O1IG![N4ROO/P_,(]*DQV#@\35*2YA5)46Z1N18>K2$+Y(]'B1,Q>!%#7,HL(0'9:882&.DECM M,$Z,UY0ER2GF)1O)4(-B&J'OX"8L]QJ1\JM*#'';GG!O!E(G&@6FB2=+_;VE M_"_EA\A,E*0SN$@/V6 ZB=%D43^@*72N7G,'& M/A%=P]*D0A9B- E]+TP$PM$"N%JU ."'?P=E%<[3\QNV'Q-!-7EP_8:=D%AB M9<(!1UUG$&#&1O*O?WY'ZSNU1>$E(@B?J45//*3*TA16;)+,JEZ1&4AD8"J7 M&B8]R-ST?_KBV"[<^C#=#\QG#DLS!S_-L>,N< )^%HA@*QX@5<@5^_HP/[D! M>GW-B;=6-K94F8D)C417!<^5T6;86";N2$P$\PYB>7!/K!OA MJ%S%[* +X\:%_5'>5SW6/@F?(9:??D$6:&;': ^6W7#2XSEAWA@?D-Y&&>?\ M=Q F:9/B&(EFD4B/E>9")E2>S N=RG"J]S@:"54].B6T1:>>O+B:B8!I2DKE M15]:&:)";??I;W-)@#;#HN96$E>U:5ZN%),/RDAM\C#:(C/I21*7$JTVDU#F MSE+]=M9++=A76<+?IL*C<@ D0075G436OV :JUCZ+ZI)[VT4\5AL.=B_NHH: M_,LOMQ].J+P1+2.IH[&_B.PT)_+>%]HJT>?1(L]9Z:R,7E(N_-5VIUUY#7:J MD%YX1BDM>);>,9^Z$A*[/_6 29^5*,1G\>)WJA(B&5/J/]$G+ ,.Y:BY'8\9 M"%6BK<>9.\T7J]=AGL_)\2"K)64>.U?G(I%_)G84O/D85; H!P B">V,GB#Q MEK1Q >Y!FVIBA-.D',&9" #&LLDL'D5DHKD685<6M>&*H_Q8.(9G8N&R/T(( M)R L*?28.XW2N%]2,2L[J@$)L=.A.#EBJHJ;1!A76_T\B#ZE:;IZ9J>7L;+G MY2G+.@PXZ\0NVH.JA!^'6'Y_TK5F\]E-1&[@P 9?/N*"A"Z&@SDFSXGJ$Q L M=(KG\W[]0CQQ21L6\WFJZA6=&N-=QE[<;Y]CVJ23QO\*-RN>*&7G5-C/G]0M MM5'"P\!7-1WB1T ZH+OPDF,_H&@QZ10KCF-T!Q)#%UM4_1(NTJ M>?EJN46F."QQM#OR^B'VA?]-0_ !9FQQ MV35*> *4+S6-HB0]$S$1/%65RREQHFLNNE> ](\BXSO3OCC)/)5VS(NJH=>> M0)V@]PU]A3+*W]C!@4BSVY=):H;J9P, 8/9HB&G@/[$38OT,[XA'BIG7'+=!D.M&J>= MDA< 4FG**XZN)7#G]*01[0M>?(8129&D(//W10\:=+3% H3*LRI%=.GJ;3Z& M!)6>\[ZZ>+5U$S.0C_)(UY.KJBLXORZT@ZX(AEPE6G'GUN(((0LT2[+S9-% MF$DV;X^BP':%7ST5X!2J"T=K-EZ?_V!R%\BKSMEM8Z&]6L="/\!Y7Q0/W-IB MJT:B?9+!:E[92.B#V _ .%:% J*%8T'7;M7\&X.AN+7+M+O%FF&[@"=F6,^Z M*$O'G@&S3*;8DO<(WWH+6P=0KY(G5''YS:^WMU]/>$Q5*5UXI)%W6X%MPQ-T MB5WHWW-'%6[+[D R:5^&EE6:GFP/*J]N1K^ N!U5FF@BHJ@V%%U>6QCQY52; MS"U9$B;(;M'W1XPE;;S%<#(53\3AKJ2;<01FDBQ;2:L5Q,Z4+".K;N21*'FU MZ- C#2LQ42S$O_+$$3I9R&,0.'BB@$&PU [.8L)ZQ%BD_XA'+95GHN8LBM(= MI;2RTQ;+P!*D,!1P%?5[,?NAR2D+;R:V6!"U]ZK$*$DT63 $'5FI1WBYF8(\ M-V<*$1=ESUC@@(>\J;*7$A,MC50&J@%_P5$[IB>QH[6V0RRMIQ M9(38* !'2.T%=M@(CQ5B1#@F"[L8%\XSH%EEM)9VHY(.5^9@A0NLD(5IPJ'J M^BH-:>SQM%0AE=$>RYC.$B,YUEH3"O-'*3<"" MPH$NU)0K'Y;R\;XMY.K+XN9H;:O]_V1W-A7>_["MD3:LM9&6R[LJ&V?Y^8=) M3J7,K,GIW;+<.DRJJ47N:\2FBV[B2Z(J'-+J8AK1#42 ?A2(AE?WTD[,WLFB MU+20&E5:*+K*J(FH,ZG8M))>KDEF[;+@L43PI)8578RBI=)4T281Z_CBQ/6\ MI-'EGK9(H.?1RNDG6:]J"R/BB*\UL%$.B:PFQ6=\N>DN*A'&RMVIVMY0;DI. M;DK'H-P4RDTY726%4)._BRHF[9,(&.7941^2COX@Y]L\TFE"E>;;;%2!"U0!._6/^\8K5XO_RNC99;\O-,I-]*F29E6:V#1 MI!H\J7<"HQ*G( DH9O]]T;Y8;'DBR^G:T$S0$N]V^MEP[6?6[ ?^<%U6UQ+S MA5R]H76>IXU3Y1,[QR33_C\C7J[P,JG6W)>#M5FU,#)E%=W2FK=$1LZJ\-[N M8ZYI4&@RY+/V4AP'@SD,BF7+LD8>#DG(!3#3HY\.)[7*8!"^ GB).-1IN-#W M=4 #&H];T*)XD4VG4N?P>K[**_[K>2WWO\KH0[Q)Z3'$#KY7:E:VS3DM;B/Y18O-VT@*%5EX!K7&N+[*K!6LZWWVVWI M-3C.LO&K4LO?O+\03,\6ICW=[ X)I@332L/TTM([5F_MX%%KA*;/6\7/[X'6 MRK#0[+:,JG#P+1>^IWD\%O]7!_-XX[7E.UG**^LN+3DY=*NT?/1UR^R6W(CS ML7$T979N+!GH5K^L"4\L.?(NHAO=P?;;"+'CR.RP6F_,C1IMW;7Q;'U5ES_L MO6D?R-RM#?[[NCFP=CL]U^P$4AN6#/7NK@X-8LG13N_M?K_TV8_8<2QV=%K# MM^5&C3;MVIRW'T0'[' EB^] 1^RB9Y1?1N7NM0$/3C#'3$#AFSDGY^HA"5)% M<;(&NMDV=CL%'X(H)SJND0"0 $A*M-OZ<&B2 ) G*D 7';U0<\L[>6I,?8; MZJOKMZRS\M6]$W4FU2SOE(6.HH!<5M"H2P?CB9YV2TIN#DI[H>L:TT21G(-W M\F&?*777XBBY^_2Z7N4\_5:[9Y8MY[&,UG X.%0]2+M[D'J07LOH=FA.-">: M$\V)YK3MG'J]4Y?0=?NK=1:)6;!LEJHO\72RX:M0;O&YWU6M=F.UQGRG@KTW MX,Z;5M'0 )4=8+@ZP"MR6$]9RRDM?)6"NQ&@HNP]_0!E -8\1;][76L#*IX+ M260TL.#Y;1=]>OD^X #-86]ZS_29\K>ZM?N]\K7[QIO4[M<*WUL6Z#=JP4VI MM=_.<&E*J?UVJ_VO

&9BUNF?7;[?.U3Y[A\ZGW^+Y_6VJ)HU< MW9G5<62:69-F5L>1:6;%1]DJYKEOT^?XXN:>3]VWSFX_>8[B=J0IG:)XNE3# M[19D&KHY+%M/1R6^QV1)N]<(7;'*I)NS1$NU@=TBX58HDU; U(NY!V M:8!VZ9T"R*19-K'#:/5)L9!B:8!B&>C#(34&JQ)'VNW6X."LJ(;TD%8Y$ZUB MZN;P%#LD:96-'&FW3M%L\&3*I0$!W_QEWL[CX-VG/\Z[@=IVI,+*]=1AMGHDF6-A "^U#]YLN(G>W+;>[5-&0)4X8EJ4$D P ,'LE;ZR@P3S MN+Y&2@(D&("I:)3PI)!('I47];S6BZ3Q<#X4?6"1_5HECL VV:.LL_/E?[^[ MXRTL)(_'T9"]UBG21+,(UOL94TV$LSFP:#=+WM['(GED<7R%/DZ));5(E); M-RP2S"IQQ#1;;:.N79ON]RW>42^ M]BUV(KU=VLE%WO9C.-\ M(9+(C;QH]RAYZ[PA8.J] 25O58DCO1*>+>C&+^1=+R;98'B*QD[D7=\8?RQ]L4*MG>N$@OR85^G[ M3D@JC^IA/*^0%Z%@0XH0I3A7BA_M5EFW/XEE\V#0[9T"!226FS=+D_*USI?] M[3:)8Y7XT1V>UY&RL?E:7^()#\FOODT^2(>Z%%2*(X/23:IK[6 G%&RJK>B< M(E^/Y'(31X:E2Q%)+IN'@LN>95(-)')L'@;;>I5Z4E>((.IHI M4>M\^7]IZF:7VE!6A1MMJ_7&>7/U<69MX]S<\?FB9T9!Z/#P2I+LN@TT=H+Y MR.-:0BGU@SB871NM?A=^$ 6>ZZ3?%P*P&BIS^UM?CT*8"F+6&NAF>\>F-@ M>.YBF&LW!O+86ZSF?VN2W>M_?N6AS?V8/?)(F[(7S0]B#>:NS6>:,^=:'&@" M!K"6E"#%RS_,8@4AB]?V(9C.6,@=[=F-)UH\X=HL=(/PZH6S4)O!F(&C:R%_ MXCZL9QR$XB<1MP/?T?Z<1< UX?_)3=TZ5HD.[]$JO.+>$O$IRX,?,__G /;Q)"+U24C MH=9;)4H<,A>(]ZB-W3"*DY7K@LN+50._EZ:#K],SD\I?J9ZL:K%,6!^#']K( M+QQ(T@G>\IW'4>N$6"HE.5(QP3*"D,5NX%^#*/ 0?W5Q\P45720(\G=0EUY0 M60GY%]?F$=>"Q81' MPB#S$!#DPT\1#=D'\5' $,)BD#)MPIY@,-AO9C'@5X@AOM0&! 93^"$,EY >YA,B;QR.2T+HWG*)K:S&.^+^0&5,=X M'B,19F'@S&U)>5=7U!)/,!&P3P6DQ2_$Z2" MY25$"$!&OB.U;#="XJG? V'A5TAESPML,1**I>W-435K; 93 BG&9:O7P[BN M#VHA#L*7E-9R5OCR$?,$UY9^!M.U60A_ 4XP_T5[!/(!0=TIZK);7\JP.YT% M8,%B0$*"CSER 0BH$ ;/*>' #QGJI2D00?UZ"N]53RPT'TQ2*"V0/.XC M9SW.'#&)2/! 4 HXX8U=S\,1=-#)0+)X$@A2:\\3UY[@6N3\>&8.2^M2()D! M;6&42)"%36&WBY$J/H]3O9I D_^8<3L6FR('_?$?N9_,?9P)@D_R<($[P07Q ML"/GD0'=:$$6!39D#:(EQDTC"QE\2>2".H -#54SP@+F(!?L\!@4.[YM%#SQ M!84BL?V /+-_!V+W4$ ;Y9$"J8LSD0N$P6#X$4^(K+815\J6#XS18M@.X6W MRWB";_K(9UQ8"8D$PMXR5E"F+IBF$NOTH> M($Y@BYCD*NJ0YXF;_!&R%=3V)'!@&WE\$1@ V]F>XUP7:BT[GA,(2V_*N=1% M0CN[8F4!KLH/_*M?;V^_)B_2$$?;-EH':T3A>MZR 2<[T.N2=> M]?[9=>()[(>XW66?4ENNL7B$C>! ,H\W/[*R65O+!S@TEGGXIMOWE=8QM:ME MPF3_G(3)/&9@QE^-0$5\OV)CF.8U\Y[92X0GX>P"877J!7ULUZ^IG=MH):).0C__[XB]NV[1MT[#M3F_$.V/69:/1V#"--G<,H^<8['_Z M%S#!$P?D +\2]Y.=W[":/8=6Q"7%K& =@3#RCAA G6S#V8['%QA,]/2C) M Q3N1PZ-&8*:]7+N^6*AXZ/WZ"U:<"N)]\FLE X-.J]/IH!BH['3U8B4A+2#< MNYS/!ZVVT<_]RFB9)3_O=,N-M&E2/9A3V7?3G&A.-">:TQG/R>R\.E)!Y=*6 M!4JO_JS;7\0IEISMYI(O/7&T2P=S[E>AW.YSOT/__,HWK[0*DMOQ6SKE^QN, MEA".7;^+0Z?V"9T#9>K*#L&=]BIS7B$D#=#< 8:K [PBA_64M0\3YC_R;1(E M]B% 1=E[^@'* *QYBCX'?#7L@-[""^N%>]*P >@3]_C'WN=8V=,TRK"[1:FM:K;4#.1BMMGB^UOIJ+6WM ML"L_2YH>KXE+,R3W=Q;:$ZUM'EG--1UF)+K'%MT&W,R5OTR9AG*T]NG;9\P> M$G\U'KFZ,ZOCR ><6?ED;9I?+3%#:'RS^=70'[+E?9=\ZA[:FBU#E$941^6M MJX)5%GW=*GTI(/6A/&XU,EW?35JEWEK%-'7#.L7='*16-K&D4^;^-%(KI%8J MB.'+MMYO4\/LRG"CW1HV5:4UEA^T-RNJ(9=T>?TVSC>];^UX10%)Y'$\U&4.&221C>,_VN==DL@* M<:0S;/5)(L^7_UVP6FF/K!)'K!T:6)-$-HC_NF'0'EDECK2'K=Y92&1C&08G05XLB00G3GS'Y+[_7*6@8DD$?U9QDMBR3R?/E_:?9Z M%&ZN""]ZS97%XW4^:1 X. \*'MC$(GD,3DR:*Y$DD!N$5LPJ1BE2OPHY5FN MLSPV-AWK+KV0B#SIV^1_] 9ED\S)DW[4\W*O1.U*G3WIQ/_\2(K>&5!LJTH< M,=LEZMY)(IO'?]T[E)%5)8Y0UO*9\]\JFP9!\GA4 M/U9K=*W"6T->A3:JA)'3(/ZQ9TU_W7#HERL*G&D MP6V12""W$T "626.](>T1YXU '2K35V.J\21#NV1Y\Q^4^^UR[J622"/ M&WZUFMLCZSQRLN[9F,K$ M_OQ$?0HX5XD=97S+)(V-8[^I&Z5O!ZJ@0.YGW+W]G9[YS/#?30FSQ63J]2F+ ML$K\L*BMVSFSOS,L&PNIH#@V-$VF]O'A3HK;6>P&GW:'RO$D0%E MUITS^\E:K10[VB6/;U\FUU!Z=Z9A2$#@^O),FNVT!B)YB//*XE ME%(_B(/9M='J=^$'4>"Y3OI](?BJP:'M+_$\"F$J*(U67^]W=ZS8/2AQWL!_ M?K#Y[AH0.;Z85015IK'#O2S'AU,UE-!>,;FC8/CTN*T&9VA[6-L>>KHYV#&] MAK8'VAYH>Z#M@;:'QFX/IM[ME_5UTNY N\/KV9&T-]#>0'M#W?<&JZNW.^19 MHLV!C@ZT/=#V0-O#VH6IYH[W3=#N0+O#ICM?N]4#4S4T4$YP^EW,8*'P7\=] MNOD9_D@FHI9TA3._-F'\ T]4#'/MQD +>XNI_V]-ZHGU/[_R$"M7V"./M"E[ MT?P@UF#NVGRF.7.NQ8$F6 YK25>_NM8I"Q]=/^&_:< <*[9\_]UTT_H_PWJG MG/DPV_'<*['&PZQ(4*MX 1^"Z8R%W-&>W7BBQ1.NS4(W"*]>. NU&8P9.+HF MI"S2QD$H?A%Q._ =[<\Y"V,>:JYOAYQ%,(;K:VP>!^\^_:%K'K;&C51K7!V^ M2BY\TA@\&\E>(Y'J-:(]3UP0:_4>A]LX43%>Q* M_SD'_,,XWHN>+!!4#?P[66A*.1WI&G(MY%/F^I&&! ZFKJW-@7IA#)_%, :/ M9MP6XR%E)">F+@A7^)W'\ 8<896$?[5:;0W6Y+F!W]*TJA+K-M;^,?>YE)RV MH6N6 6=4+9B'&NX.7O"H!6.@QAA6 JO* !+).0L#9V['D?;,(NVO[7YKF"P9 MMF*%;] W?^WT6_WT&Y;SRHXN0/;7]J!E97_XD=M\.N*A^K$I?PST_)*9('#3 MFSN@[6Q >C %P*IIQA,8XIEK$_;$-09[VRQ&ED?S410SA1"Q#E@BX,2>X(_Y M#V!VC--VN.<^"3D3//=A]]+B9^[!8%,@["2">?Q+P"N="?;<8S$22SXW M8A%\#J\8N^%4F\U#>P+04W.$=2^FC=K:9H \E%7Y PTI#3/W +\Q/J3-@BB> M!3Z'Q\(0< Y+B.P)=^;('S7E%\V!7TO8CYQ=QW0%F\ MX!23J41BF^ P-BPBF@1AK'F< 3/=*="9/3'7PVU2&X?!%.@YFWFN6(QD!6A> M;2[^I3296+[#9R&/(C'+*7 ;9G>W](.%/I,_2(03J,<6LXR#9Q;" U[@/P)] M,M,2[ ;:BE5QL_$RVF$(I@%RP3 !-H:"D#@#W$5] M0&,4L= 5BL !TR4&:N,[(N9Q)1;^BS:>QW.8MUS:*?5DJ4U5FF>@P * &LC? M-1@)/,1?7=S\"DH_TGX7$]YR/=V\8EI8H+"O4@M4VI&P4(_-(GZ=_.6]XT8S MC[U:V!T_^LBS3I4+Y;?FBW0@>_6 M/^\8K5XO_RNC99;\O-,I-]*F29E6:V#1I!H\J8+LV"V38%_]V7#M9ROARLS:H-<S"6O MTVD;>6R)!CQ<;1..*%QDTZFTUM%V?Q5:Y16O14*:O=S:]_4M=JZ(=.V5,0BO"R2DQ1K];=P<#S+(A<$20/N2>>4_%FB=_L4XHQQN(1-@+#9!YO?F2%I=:&2/K; M,?E*ZUC:U3)ALG].PH7[\9%?C4+.OE^Q,4SSFGG/["5"&&<7"*M3+^CCZE8) ML7%MX_%A4T!?RWGXF9UV AK(ROB_+_[BMDW;-@W;[O1&O#-F738:C0W3:'/' M,'J.P?ZG?W'S(& ?C+4/\$( 2/3S.W:3Q[!ZYI_<<\_#!)Y//V:8A4@I*)7- M8:!)U7I2E+9 *2B-Y26EH% *"J6@4 H*I:!0"LJ9I* D!R>^5_ 7*0-F%@;U6ORH, MI 24PZ]ST28#PR8A?^+^?#?[^-P2$,PV)2 0$-0=BP2$&F62-#H39<75D7;- MV3+G).W<$GDXJ/>REH6REH"B:Z-Y+/LKQ>(7LD?'6/Y=[BC)N"U-NQ?)*##J MU(TB-_ C79NQES#P9&N>Y.\BHX0[(D5%-)1)6M5,@F<8,]2Q2TG([>#1!^HX MV"HDZ9R!:3;/+ R9'[^D="A<1B,Z5'SR8:8JI*S"R1RJ M*+. HF&%:[5TJT,Q6T)IY5%J#@BEA-)JH[2)#5C.++G ;.UW?S E&%3?>*8$ M@UTI-VB5O02)PLI-Q$&O5?;,0#BH\_.53B\HX0LIFWJPN/@"+Y_QQ;4DYQ&U M_Y7[>#&/(.BM VMWHSB4MVI0L+[JT5Z:5*TG10'>EI=CR68IB]!17*EQK5^_W]KM\OIJA)4)IDU#:TZU.V:(S M0FD5.'=.*+WL#,RJ%(]3@'X7!O:I^I^"\Q24S3LO4U26@( Y3(-6AX!0H_!Z MH\/SQ=Z/'1H"J*A\<2Q>TQXF::F_]LPB<3<%_ ZH BO$!Y/AQ%T8S/YS[LKK M(*Z6ZOWUY=]%<6!_OQJELX!UB!AZVB0 !F:9F<["8,1&KN?&+^ERF3UQ87\3 M"0JPU]D@50R&AIG#+Z;,MX$BP#L>1]E1LU^+66CLF84.3! IO#3)PB8&0)Y/ M+ 0RP(^1MMC @'E1 +\:!_8<)PY+LH$A^"PF6#AN!"_ E;+P18M@W4Z2=R$N M[^(\NY@^P*$+RR-?#.^=V+-\A>S2,PV"J/18"4'(> MB"-!@S?#\@B]I,W(Y;A=H=\M8AREYFY!R%M!R&U7N^GB$TKJ.+-4!9H4)750 M4L?9\Y*2.BBI@Y(Z**F#DCHHJ>-,DCI6#U4L.52MG4XIN8,"DJ^4U'4IM8,P M6G&,#IM8V4X8;1)&+SN520N@O(Y=^-=M655A(.5U4%Y'=1#2IJ8+A -TG=#E M'K7*RFAT5L?V[H\C9G>(7 [UI4SQP-#_C,4Q#\6L1MSG8S=>9%R(&>GPU1C^ M K^$-8BF#J,7\;T++[1E,H;P[8O$ '@85NZC[UM\*"Z3B#9G!B@Z=3"&/0MD M+LFU2+MPG[@*74N\9Y]2C#06C[ 1V#/S>/,C6P;EWPX45UJGK5TM$R;[YR1< M>#(?^=4(^/S]BHUAFM?,>V8O$<(^NT!8G7I!'U>W2HB-:QN/=PB,[)A=\3,[ M[00T$*OQ?U_\Q6V;MFT:MMWIC7AGS+IL-!H;IM'FCF'T'(/]3__BYD$D: "^ M/\ + 2#1S^_831[#ZIGI\FTI!^@#Y@"526E1*O@*3>9K"V5S MT*0H[X7R7HB7E/=">2^4]T)Y+Y3W0GDOYY/W\FV]S((27"@P^XK;VBSKMJY# M=)8PVB2,_NTO \NTWA-.":>5QFDS=6F9Y^MR"LCGG_^.4;H'A?E?I9S1*GO3 M%87YFXB#W6P2PD*=GZ]TRD?.R;]L;D?(56<%\9 <(N1V\.C#/)QTM#]XZN M_7ZKL4A[YM@5(Q*C>9R!11%-W)D6A_!#D7R!3^%0G_PG-PQ\;-'!/.V!VQ,? M)^;R2 /&N!'\5+88B9+E//-0-C2)8,\+19<.V9T"P^TX,K/M<,Z\2&-> '1\ M=N.)S&Z1#3JN5AMTW -A41=8"RWP)EXMP?.O+(RUN_?:7^QS$0!"@_H)=L(#-O]4NS=Y/VA*>CKFT?#@+FIKO!:_&\Q A MI3D\9JX7298"'P4S_6"EM\@L#!Y#-A70:NX-,'>^'4RY]L!^:)=_EWE4/Y6\ M^X7ZA% 6 $V*\B4H7X)X2?D2E"]!^1*4+T'Y$I0O<4[Y$NH8%>,Q:I0NI'CVFD2R//$M2P2(B>3W) M+^626=)EX13%?))V(^DR\!6S$$/7/S0OB.1%)7GKP@G!B)ATP-*\ MG_1(3* M5;\3\_?'4J@PEW$?,GUEBA_H-"&9X]M* N[K2^E2V@8E(]"D*&UCC\S!5<5* M21MUY20E;30Q:<.BI U*VJ"D#4K:H*2-'*^T!R?T,/!=6WO@44QY&A1E?,4% MV].'0XN"X033:L.TKUO]+L&48%IIF%Y:@W95 OZ4L[%3TDVK,GF+E+%Q!-MX M8TDT!>RWRMS0.X-3A.P/'+MN%$^ZNFF8Q),J\>32U'OF8/N-A-AQ9'88K1(7 M[-4[QZBYCJVO86#S*-I_VSZ0O5L;_)L=W=K5R5.S,TAM>&*9>J<]))Y4B2>7 M?=W1V-%NM\J[4\YEVZ[-F?LAP+/VD;IH%CVC?#,J=:\->'"".28" M"O_,.7E7#TF0*HI3MZ/W>SO6E1R"*"<$S%EFJ@C!URWL\T=-J3%E3B*6,#NB*F#NZQC0!,2=X]C-W0N#5Z["F[SR^ MKE5U6L]HF>U!V>JT-GQAE"UCVO1YWVH?I+QIV+*&%LV)YM3H.;4+Y.X-ZK[: M:X4>B1I?-HO5E_(:^MROU'WTN=]5K7AD=4?=H5[P+7CSED4\-$!E!QBN#G!6 M4KA[U6,#ZF$+2=3$'N9ON^C3R_=. U2W\K=7U7;MM8+WEN6]C5IP4RIUM]O8 MFE*HN]UJ:Y_.N-TR5[L:'3J!\2#WT9[3R-6=61U'IID5FUY53.K:)H1P<7// MI^Y;IW*=/""_'6E*Q^-/%U??;D'F4#<'IVC8>XXQ\NU8TNZVC+HVSMUNA0?O MFTO:I9J,MKJZ,:3RQ2JQI#VL;UMNTBZD73(+NNSJ0Z-#A;@5X8;5;G5KF-FW MBU)I@-\J?YFW\SAX]^F/\RZ\W?+D9.H#JZQM0T6%1S4WS=:.5[_54PT1#/(E MLZ/WAF6-7)+,HTIFN[1/@R2S>3"XM/1!O_RM>224Q^&&.2QCL==:(!L;K/G( MQWA!U3O&PP!>:I_Y+87;$:VG=XRREB)Y#XY[FJKOM9$G53!-%H#$LRSA\%EUWQCYRZ)Y$9>]%MO'/6HC]E>%T?[G>_,HQB'(;_!-F;! MP"AK'I+OX*AF@=7JD$/O[&'0UWL&]9ZM$D?@('V*QK,DF-4BTF5_^,:N71+) MS7YV@_SL=?>S_^:.N79ON]RWS_T^F2T3376C7]9$)+_!,3G2+9T=4VO? :$@ M/Q5#'W2HX*=*'.FT=FSL2W+9(!18%DEEE?@Q.*\JO,9ZVN_9F,*(53H[IM9>!$+!!KELMRFOO4H\)!\!]ODQQCF*4ZKY#UX)0Q_5NX#@D%^R$5O6Z=( MGR;!W.S6H_8WA(+>H*Q_BZ3RR.FD9U5ELJ^W_9#M48N>>?4*1:14IF>JT>IW ME]JFXO>-ZX]U%,)4$+,[W;I\#.*\@6_D8//=U;ER?#&K"*I,P]BU&3.=&\0_J9WXDKQK6YN3Y:I[A@U!H>ZS#V=O!@F[U; _.7\;TW: M NM_?EU<#:A-V8OF![$&D]?F,\V9"+OJ _=(+QZX2Q4U]7KZ:7TR37VD?M#FP;B5F*.MQ)KR468&EX9J#VS2!/W MV7OPU>A%<[B-+\9K[[6(3UU=8[+5LPZ?)*TH-.8[\,N5AG(M37N8N)$8$N89 MPP^]%RT8CR,>X]#1%#[@(8QCAYQ%\AT!ANZ!'^%W'D>ZYF'U7*2JY\1K(IF6 M&ZFT7'C)"=E3"HQ2V(&@0LOU=Y?W%7E%(1!$34QIFT7\.OG+>\>-9AY[N79]L5#QT/OU%ZPH M8O$^^?5[>V6_U6MY/_U0Y7R??+C;3Y*OF!=;#K M[6E.-*=JSJG]^DAO<"UX>^VNYD2EY]ZX?E87M=^#8?*[-$P^H6'RUE>VU_0B M;QK@P ,,5P0;^ELR31:FM:;7-S M_6ZTVN+Y6NNK-8?Y85=^EC1M7(%W_C)7?"Z'KE-KZ!7NC;B"_0Q&/N#,RL>; MJCB_&IJQ6S:JX%.7KJ[=,YR>MZX*1N?,GCYL4PE"E5C2-EO#@[.B&N)#-V*? MB5JQ3-WJE^U%0&KEF"SIM%MK7@%2*Z16ZJ16+CMZN].GZW\JP@W+:*Y*^:EI M/JO\==[*Y"MJKK1-:;!NEFZ-2OV5CFIF6JW!P5E1#<&D?F=;$&F@]ZD_:*4X M8O9+."]((AO'_[;>[NU8@DD2>1R.#$H8Z766R,;&8SZN%D)08Z4MW%UZEUHK M58HC@U:OJF>K2IQI&.4,-/K+)&-]:;_AAV [E4'('(3;.-)___;^];FMG4D M[;^"RF3F36IE1=3- M),J69,6B)'Q);%D$@4:CN]&7IQLGV^@+;9P%BW;DN'Z\KZX"8J[8C5.A0=N;?>]!N)RWFC<#F-NV 9 MPZ#7-@Z\*NW(*H;!+GL+S/8O*!DQ$:XJ[4>CWC3'\7"W'R_.>U# ]3SK[N5! MPO[2CN7EB_%I5VI%>W3J(2[39_@4IVU;7I&Q7:4>LABFB M..3]?],[[IJ4[8KLA=7=W_J)S:9LFR[QVP1W.I3.CIU6S6JLZ?\V[1U7]/D< M3'M'ZO];/7:JAA RC7^->M@5]=#NU4YZ:\9CC'HPZL&H!Z,>C'K87_6P/KJC MT0Y&.RP*H*Q8NN'QOO!J2:ISHG5\8$W@/U1M_?Z[\2("?(,%CP7W8;J# MQ%MAD=7K=*_ZBB_9Z%YWG7=8* :>L&.@ "PF%/X07N'Z97WNE^M'_V^8(SP? MB;&;32H,Q@RH-\*?_)B>1)%R!%-C]R(4C#JDVWJ=P'CI*EENE8Q'S!%C?#R$ M_UP_8EYP7U^X;XJ*;>QH/@DBE_K.A\+CL7LG5"-SV8XP_Y3:YD;V".^#T$KB MQ8_,,$BS+(GE15GFB+4[[*A(F/R_HS"35D-Q1%WJC_@ IOF>>_=\&J&>S"\0 M5J=><(RKFR7$PK4-!IL5Q9*NCK"#D-/>@'P2(7X+)L*W.P$V@L/T]U=_<5N6 M;5L-VVYW^Z(]X!W>[P\:5J,EG$:CZS3X_QR_^GB+VH,% W8&+P0&B7Y[QS^6 M;=B+RJ&51.MC>_%[&$01^TH37E*N=A:<&M*SV>$D>P(6ZO%))-[K'SXX;C3Q M^/2]Z],TZ:$/\R^8L23H??+/BJ=[W7JOT4&V5B$D]>+'^ZNW&_5N=[56[8L_ M;[[Y*L^<"S9XE7#J; M(-+SOV9VNL&B9Y:\HLZZI=<:[-5:S17379?:=E;*ALS;+I7;-JM]8[7A 0T M;&K8](76^J95Z[7;RU[QM&6,@(J^81&T;8Y>#Z<<3(0;P@B47RLLYDJ! M^R"0XA&\%S[Q@GL1LKO 2\8"/A@,(A$S>$'L35E_2M]C\+;$IN==WXU=2B>) MZHS=PN!V$H;"CXMI*UX48,J-ES@P)DYAD'A>?GDNK,&.<3JG'E";PNE_^TNO MW6M^8/ ']PZ3:[:8G[2QO( ;X7F8:W3Q,,$VD28UH+*Q93.IG9Z4"2B;U( ] MW4F3&F!2 TQJ@$D-,*D!)C7@0%(#]+5)S%R;3': B6?-K;57:QUW3=35<&G% MN;2[ND*G%EDQFPU@;6CZNR@28Q8//KS&K8,7H2BCOA M)^O9QX<6&+8Z]6T F.]'8'BO&*%57_6Z8!AAEY^O=(; C*OC<42+V62 -*,@ M\G!(;_HTJ$2-]9-80I_$](V0QZ1+Z&>I3_2X=<9NN"3#.XY9EW8L![Q9P+Z%+9Q+_(-+GR8J8#W M .%Q([Z' >9NL'.@NQ=,QIBJ87(1JA[,-I/:Z4F9"+;)1=C3G32Y""87P>0B MF%P$DXM@E,GD*)K;V=&52K;MR"\U=B+ 9+MTO+FTV M5JVD-%Q:A9T[*"[=2TEZ8+D*EE5_7E,'D[!0??/9)"RLG3%HPM2&#X!*7<,' M.Y5NL-?I"BMX0U9+9*0\)O,%D E0\CFTGM]*1,[-AD >S?3C9,%H#) C!9 "8+ MP&0!F"R \H"R-^D>/$F98+_)F"U1*RCUC$H!89-J\^FW4[/L*EATTJSZ9M> MLRI%[B;RO\[^-0Q*@0GZFV!OR879,O#UAA'0$NL9N(J="MOO==C_:??'RL % M*T7[X5.@ *P&OZ8?IL8)W/XS<2,7(]]'\T $_82D#8!6X$K\*Q>3AE$8SBZ,0':HJ O_CP8B*&&+JV M?A6V1SA/*$N"T@[<,(K9GPD/8Q&B2I14@/?#&_AP&(HA39S:-8P#.)C_RW7# M!A?TJ#]T,<[.HTBHA84"WIG8L7R'7/ @#,9L^.1.2;)YGJ(OMN 4$?H3G<4Y M#XH9VABFGP22W.^)W#"PBL[+0YU_2G%K(WL$>U%X2;SXD1D^;R[(.W@YSC]B M[2X[*A(F_^\HS-RU0W'4!\[\><0',,WWW+OGTPC/=GZ!L#KU@F-W9=FVU;#M=KX?W^H&$U6L)I-+I. M@__/\:N/MY2# B?E#%X(#!+]]HY_+-NPW0TKFF;U2<7VE MFO.UF*0>$X9^Q$=?ZW;WL0[=<.E^<6G[I&FXU'!IM;GT>-6X]R[PZ('E]5A6 MO5H]CDQRCTGNJ0Z'M.JK(FN9E(Y]Y(.F2>W9J=281.J(< M1 G.\!DLLN26#29"AH 1SB$. M6)"$[,=-\6/V%=8\<(7GU-C74\8C=B^P7T9$HWF"@ST1C=P)BT/X(D7"\2D< MZL*_<\/ QWX>W&.WPA[Y.#%71 RVQ8TP:,[8[0@6I99S+T() A*!QH/Q;*& M*K F'T?FMATFW(L8]P*@XKT;CV0Z@&S=443O@,%OA& H"9J9#'BY0-5W'L;L M\@.[C,68677VV?5A23 LNXEAEDB7Z /[%L1 $*!^MEVP@,7?96^L[EM6X*9? MN;1R9B::6A]HKP9)B"S%'!%SUXODEL(^TF;ZP0S,R"0,AB$?1SJG8BZ18R_R M*"Y].Q@+=LL?V)M/PA<#-WZ[8KL4 [%@,@#,I$RNA,F5./2=-+D2)E?"Y$J8 M7 F3*V%R)0XI5T)=HF*\1/7U))7 P&PB98=K21$3[>I 8L MHWV[)D?$, +A!=57;:=H&&&7GZ]T@LB5S[CN[^%-69]';D3]/3#)(T00@A)W M2!"FS5/Z7'4?P; Z?FAC(@'W_02X#S-$Q)RZ2)-&[GCH!DF$?\ @_1])Z$:. M:Z=)(/L' MY@61[%A2MBJ<#HR(*0<\S2J0;% MG3^2**;TBVS*\!+A4L[#PI0%U_G[JZ<[3UC'S5=+,:*.W)-5]NL8LRR(^%B: MPQ?WS\1UW'A*NW/&)QCSP-P4V#U;+ T=\>)P)1%UY4DBY+5Q$$K$D*EFGJTE M#%V!OKASQ?WV\GDB8T%C7;/!WB&PL!)Y&L%L-,$#QOK3V$N8]<. M?/P;/ ,/)P..640BE'.A,^YC-ED\XC%V5L)\*5BTWL=81#%*,YCLY9G*2V+V MU/90)=,0=P%V'P(AX7,<&+^9FV8\DSE9T>U M1?2! 7T1,YM'(S;P@GODO\' M>&[VTQW>EP=D0#&EEE3!H2 /2"RR:.-"_0* MA]]6AS_4AY^-0!SWA?"S9:O&4BB"87^1N3(BP?9<4DLMJY;VU$I@;TC&XU?/ M0@$O8Y^Y#1_&TYK226[^+/<%O*6&R70#D%+T6 ZA!]_Q;X&<1'GU!0V&SXQ! M^8V1?]2L,$TSVS%839 C21D=D&GP.]$(],P1J/&Q'" 4A"-$6J2& \W,6,XK MP31(_+J>/M@T]_%(9U-FDY+H1#5ZG2_N]0%"T@L> DUP/QS@22\@SI7?S!." M:1:';;5_HF*$Q8RXU.0P%3L)0WC0PZT% ]:=H,JG4\;]:1Y ";,P%RR4Z5Q, ME5BJ^IM-V7V0>+AP6B0U+ /;;0BSQA/==_TT716?HF$E?\$/./P=]R0=2Y@" MS2'@+#>*$B04?CV>FHYDI1W)CDU'LA>>@.E(ENW%S,&MJA(L6(H@B+=F&JK, M[\9;=B[Z\?8,1"7,[7RN^B#-58_27'5I@X%ROJ9+5PVO=%=@R/7!X+,ZM4S1 MD^R3Z'L!"'IV.I;71I3YF.1.;_@2P%_PDQL!J@D%_>DP%/0F60/P]6]\//EP M*VT"&!=T+!JDH "4&E.C9K.05])F3T_E7-ABC+-3MU3XZ$9,8OE94W[6K+&O M?,J:]$N[1C-*G[/D4&WV!EZNWE?;YGWBT8L;$C2EX=;8Z:TRRHO3P7NYESA@ ME''VNM.H=QB\UT.CP*<&K6"UWZ%Z=T!33V%3G9#?,S)"?#HE%:7Y+2(F:$=260GF@K:FJ4O(ZG?&L_GAY@8@4C8,A555E]4CI7E=6 M BQ0P%L3 ;.6/-X>.:B6.W%$Q4'44AE17)4_CVXC?3&$Z9:J%M@7NFJEDE@\ M3.!J$N&W4R'>DE\D"1(QHL[,]N5'0#<'O'T,UPM"B4W@;N3E-$*WLG?YTWB1 M&W;$[]#G":0,0KANDN)%=1DDJ,0SBA1%QOP!A%U$AX$MQHZP*51>J MHLCY]B9C$8T6;]\AEBK2)VRT<*)XJ*#GBP9^!5]?CYNE2[Y@TE(=G?#)!9Q8237)837G>R.WE,X_**(?B"34+ M^P%LB5X-/ABXX9CNOS7F8T=Q#!>0MR U\NS@3L#/> 67(Y!/0GI/DC$C48-$ M*MJ(\J[O@/&*-F3A;Q>?+F_/3_$19$3RQ\+I]ED+. Z^:\%_4F\-W >L[1S! M4@5- ]>6O1"?]M!324];]69'/:Z8,^C#=5NYY+(-FR$*^3+5WO2GS'.%3S*C MZ-_$UN?*0Y&!1OLE&-+PZL6'CP(.KD^>3,\EYB(-HD:7@0Q%;+U;*1AU<=XU M73>@(SJ/T6I^+W6 !TY/H]Y+R:X'TUWG%T5T*BOXKH!$R1#8FW5R=!G:00R@,,1GR2L)! 09$P/<1S0SRB)\/CA M6@=A,$[O3NZ >-*5'DCE>R467R >[T5&CXDGG"%%\_"Z-^O &P6>0TH!WH^! M-7F)C -T& <@KZ1/-#K5!P^]+,J>V6 M[!YZC_I/W(/";:9K*],NL68N(4'M,^\NDB(% =B@7=>M=Y;Q?\T[4C%H>=2J MEY0;HT:3YBC(D^/V+S60R_= ^KLIVC#KB4CU-JG'@0<>EL5G4 N%-\+3V0G/[.!03/A4:BK4B?G& M"RH8#2<'36<9BI+W#QDNGUG1OO.OF8&CX@>9_5%A_9 Z<)HGPE_,]K'X(3VT[0;P+6S*9XSIDHA"? MK<%EN7A*NDO*L-O@_F(F"!J4BPT7N*6AG="M=RNZXQMS4F?]/GZ)8%J^3/2) M>:IN)"\[R56)67!<5TT.%/S\&M!D^_[^UEL0(JE,>7GM6-->KGNZSR1C?85+ M'5VS(F^N0X[4A62:P<.O+4OWK=)R52O/XEBH1Y5PHQ=FK7@BNBZ%+@F> 0.. M&6FEA!D=2GQ)$8C79XH&H]A$*>>!51_E08QRH?KBHX/T-H[IA?(R.+DK#%ZQ&R?2 M&"#Z4AJ=-ZWED@()&FGL'BF!GQD#D3T23@*WW\JJV@7:9#%-):-Q5$E>(FV. MU^UZ:A7GO0^O&_7C5%&39Q (_IQ]PVN33DJ*W#+]3H9>"LD595M![)QC*]S7 M,)%_00[-'$K9 WXND0*77:-T(71I@!62\ZG)%(Q0/'-M94R?\3NQ_R/NM5;= M^NMBZP#I)/D MTQ=AHN&":Q;!K>E(V/!(<576? JB3%%!YR>EN( "-FJ'\L_ M%@]N^G<BL]>3@&?-#.CBA,9R)SCCV3AU.>A],S>3@F#V=K5GF: MP5U5T7;U6!*@=$,&X4\5+J(,5/(1<@37]#!Q\_T**ZL WEZW63^QNJOB[75Z M]>-F:T. ;=W>:B,M!&SKU2V$#JS>I+K/09&K8L'H&M!3S3GHJ65PIGYYK59% M@7>:>0PVMBP0U2$3*TNHDS&K(B;57J(6T;K/%BFK+4(6P?6X4ZCE;^P&Z$;S MN: ;3R^\8D6[30D/4VNV>\]&B'ER\=7'B3&,NVN,VVNMBJWP0HR[@U;=DE3_ M=_$"M&G#Y-EP#Q4AT_+'L6QA53QN[5:MUUNUI=4F$"PV ^5@&*NRC-6M];KM M[3!6I3$Z3BFZ4Q;W>-VK=S._=Q"R=N>OM2>K6,F'/A)>6A ]"$)XGTPW=1V7 MA^Y\3:[*ZGBB/%;FE:;UM&G$-@TG9?G56>JU3 IY).=/9A/IFN!<67L<8$GO M) SN7*>LOENGK?K ""R^%]Z=T#$)^6B48$6\JU(PHV2"B82SY=2SOKY"P3%E MDE/DW@["21#*"%WV!94&7+(RUY3Y;:3,K[(!,MQWS%0+:?J/E.?K-.LL..LD M^6.AHV&>P&3\-%.+H!_PA%*+&]F,B/A1X=I$A>1S15TQGGC!5"!NA*Z_QR,[ M=A7>S"#()JUBO_<2)B#MG4.%_YC-P"*AWIC%EU5"NHP)YH/-^'(,YTG!HA$M MY!M6.7"92**H("P6#K;P418VBD'!?/6(>FM.B*GXGH;A#C8.@2EH$4(;R3F"TQ)1)->:N3Q22HED*X++\XU+X%IFSE$GZ)T=! MFQK4"_=5M52^CK_9+.+O2&%JY,C.FGV;0R1!YOV,&0.[LAH04BDFU"DF69&T M>?_R[(--1>7A+YA,&6!5.KG5.IY2@EF[WBLD#-=DU80=D@4.(NCU<4[32.!' M7251UEY2BI-T 'R'$[IWH.+V)N(8">_X*3H;@ITSO.$PL54XJ\DSQ(O M_H-(H-4=JHI1&%*BX*GWP@E"U?/H7&E\EF Q MT=/5;X!])Z9Z#P03*XMO?X.O?9@O0@SHY M.N+=";Z>_MTHE@4!LKA!%0OO$']G2 85X^\LR?U9_-W)NWISVBC/X*UZ M;WVEY$9:=$H#>D%I01YM(\J0 >:+1:V'+"]:I$TS0%#Z5FA[YYR:&P\M#I[(8QWO9^;SYEMTD8T(J 8Z]<8>^ M.W!M1%7(;1&FZ9 M)>;+TQ)J6G!%7IXM.-*GQ=2 E-: G#Q6 [**W.VE358'#T M20%BW8P$RK!<:5A5E6*QSP/*''DA5(L,D*7QP[RI3>WAC!#,,$H M9\P6_ZZ<%;F^((M0Z6L9<'DM#>\5[BKHM9Y#==?5M6DT5?D,=:"Q3,0O*;UZ MUGI6HTXY.<)\H/>MKI;H+G4@>'^$GY2SF=U ,*6-FS]D]K3JCZCS7_+B(AW: M]58'U_U?/TZ_W5[>GMY>_NN"G7X[9_#!%_W[^>7-V9>KFQ_7%S?L]-/5CUOV M]?3ZGQ>W[/KRYI_5/<4J7\,+(CPV\!O>PU.@*T*[9Q'&OD2HNKY0B)@:1I35 MH2[+H.U]8M!V11CT[.K;[?75EQMBSN_75V<7Y\B/V^>^577B!0(5I)&Q\XQ! MT0 ( T^Z6+^'@2T<%+#;7^&"?&)$DT0D0U RN6-FYU ME>(2KQ(>OT[ !+):_,CJO!%O<]&ZBP>IR=!#A-2R3EKM(EYK5<&'\S/?*FKN M)V%S3 :*R:CA!"4YDE@BGCMVXRSO#A$0U.ZQ:!K!X8_( "E\5$.3"+0Z@E.- M@GN9ID+W0+B 27 5U?S+07O!U[$>,%

/?D71XZ0M9C1!D0@66 MQ6.)S]#_0\(#I" PQ4G1LL8BE@ZR:.$29EIS@'H;&KP2VC="VBMSH@J/[,!-AB U? M0C9VX8+[DR"STK [XK:D)T:]R'9#.QG?X173T0$AT $ND!$S+[BM/'S8Y@U( M'9&5!M_#H%,2Z42*^X#>&1 :<3"A:!/%S65C&_(E(^Y%2)M3H"KV:9/@1C45 MC4)\.D*TG27\&)-)X+;C$8 81F(X_2 W+M38DJH-#KJMXQ"%1E1+4ZNRW+=! M1@H:MZ\<07'/_LXDKV'?M\56-.(*09H#'/ M=#+;TQ*,J;8]9,+Z/#LK2,6-)ZC[+V?+,'$Q&GL]B[\@RGW$=O S)-%:-2MZF B.R(F/KE(6?:V+P. M)H^,&13H2EC;&53A2"Q#,XEH2 (@._MK'7&ZCN$9W[X^7!E$_>+J'7 ?*GA; MGM (,TH2N?*T/2^U3U.+WUVSX#3*3&R0-GG5WG^KEY?7CC5VZ=]B[FGY$:;^ M3?DCK)J]D;)A(C.F,H0PX3OZ1Q6'([Q=+4WS[4;4 [-;L)Q$P+.;@74#(V>S MJ_DY-U;CS*G]FIE+A^/<.))L9#IX4;ECJZY[]=66_4S+NK':U[47RH2L"!L M=GI]RRXO'[N7_ZI0^1::G=[^X^*:77[[?'7]]?3V\NK;VKM]TM@GMXQ5$;?, M%S&$PTAFB:#\\*I*V<^4*^:.Y?T!_J?D'[2'P0+FE()'XLBC!4VR!2E9B%)0 M94Z0A8S191L$E33<=::V @H/9;>4+/G:];&T1(IE3 )*_>)SKS.QS[+89Z>Q MH=CG2(@K*R:'(_\T1D1VZ?2GA7MY,4![@8D;1Z8<"Q746R\O;3>I&27T?/P,$.T?%=OJ3U[.-9) M];K)D51Z>"U1E2@S'0EMHB9WX,80X2U#9R&AVTM5!*%C"DNR1+&B2;<9R^X9 M<.NAA">=VI4+ATL/9A)I0\(7Z)3(2JKREY4T,!YD41/*I=3#K7()GY=P+U_T M-D/R0@^*3PB0C/% MU=KY5N["'_*A,D3'(AP">[.9GNUTUH3B M@UGQITXKH3(/R0#Z&.&>X0?W;B2T&YN,"1B+^I9@7";MH$,G.FM!^(-F0B^3 ML19,/+0Q1JD.,B7G(.:^:V/,!Y?B!;:J4O+E3#RA_"=8;Z_7C!Y_)9? XD#' MGB(1MLI2^S^SD$&Z3!(A:BEI=3H]R*CJ)77?29&(&T]AA1V2'*=QVDA'9459 MN4J,M1O=X?X6.[$=2$,]QDSK.M.Z#H;"//Z*6-V;R^/??J5S-4HCFG4X'#HV MEC;N.)?5Z=H4.@5K8QJYI%$RHI[IG$_ZSG66X7F59GA^8"FZNPQ6*75TK6W6 M#[-=E[>W'\6".R>'*2/D[(JZ43F5-20I&$R43 _ M>.N?HOA'31LJVUEU P8IK$")BN5R-?)R N&E5I$OTIV"BS>RTK3C5;IQ;MFF MR84B:5>H#;+"9P/C&T&B<(.FLWDI0((@:XDE]S)?7IW?.#E.GX>A"S9_;>Z" MJ_8D?XVIE6=^X_CE%&?H.P#+@8\I64BG8+@^M;F1K 8["-0LG12NQ\H@["_@^<3'ZZ& SA1ZG8FM3\:#(FO3>L)W*QH@KEB]X!N9HJ[ M-5D65GZR7,U\H=7EB'L#38N(>SHL'XW(OE34QL/TQJK0S_J6MCZFAUTF'"%).PI "BT3^R>F_X6VSH6IZ=E4$%!^,Q-IV, M _OG&B6(.1?SB(?*#9D?,B+?N4R\EBY(6'F*1$K6"^5CQ?R!2);Z/[)Y(_I/ M).)810R)VE$>$4F[TH6C7LKOL?A;Z5VP:R3)*4S#?;4;?5#.!&;G!ZAI'73+ M^QH0;QCRHGQ\U5NX&U&_5&]_$>5\M_WNZM-M+" MQENM.AR0BDWJI-X[/J[8G"I)**M=M[HG^]8V;5F?'=U.3<.O)V+ZZ,/^K1^^ M^_@MP3@0_8@P+:2(Z+?O2ED:6CY!RU,9BI%$"S'\_9V[COP5M#"1U-!P"7YD MRS(D_@:F&[GG@X'ZH[0GZ)=3;5/(/Z%=(<<+T426]HG9D2>X.O.C$>W.T5R2 MV_(O[/&.]B/]EMNA6PS#?^53^0<$2_HDBELG_T*A?_H)3=3ORNY3!TCNST8: M$*[8IJJ"[6I.)Z'K,>NHU=AT1\+T^>9FZ5C:_* M7K;A8%5X]&35YL"FZ>/V#(9=:?K8K;=7-0BJPU8;$H95V8OG*/0-4RE]?MT; M<_5U#Z7[;/M"O#/*YUD&4@7N!L_>B(IP[96MT8+-<8($@3S+MVVM(.\ZFQ)& MC;<'Z2S;SO6GNE8]1ZLLEW,N152#(F I*K#13Z$J2+FJ*>7#82BHVB8W'A]C M>0:.ETPP<2=F7J8UR?Y;N]I??N "C:R+-LL?W2& MXJJ"8^93C240)=%$IKL&$B(SK7A1G8X)^0N7C+"KLK.:1(RH /CE,EU(\C2B M]FZTU0NI]63#3Y:K(9?[N*!8'G[G#K+95LZSCIV> A$=@B9#=Z:R-UU:1 M?[)Z>S5:_D7YG-VR\:G&B1 S0Q&C\%@?"/+D9)^@ :O24N1YJ"Q*\Q",6H_#PQ< MT''/8*8U&V16DYDZ%6&F*ZK?O,R*?JK*1OEFQEBXZY0 PN3JCWU";2H4)/T_ M[("DC7$L7$)((RSKG4&*OI'-RIG5U0/DRKS*FK"\9;^Y#^_AC=^2,2S.IA)C M8+%KK.RSCSJOF,_'0"!A.^]!H&)]D]7H=ZS3,%1=+#][?/A*PJO$XO<$ M,P/T\R+QBD[(X,AJ=;&9TM*O>L9[X*AQW5^S\+Z/L[\C(==>_6TX]N.E)]5= M=_&KO>;XU4>$A7!]OLSRN:YOTU5KG2.+:J<) B+KC:=+W0BD0ST"XQP]\5@M M5R(G>'G#(*F<&E@L)QNL#A-5BWUS],\E6;BRAC^8X[DZ>(0VD8O>VMVWB,93 MVQ[\2U .=N7+2E6"U%L:\*JRG:-F9K_5YE'?9^Y@LY15?H8"BAI^[S,AAIU) MQ+ SC1AV38AA4O7DL$M3Y=.J-_79+>[56SS^V15?PZ,M!3)6A!6K[*[#90F! M>8"FQ3*RK6Q[SO"8G9<$&7J"+1!(CSMW!*I8\!#,H:Q1BZ2^JO2E%F%8QR%A MS5*DJRCPA()X23$043+BO9\<"6FW*@F#O#.A3X/O=TE^X=D"9G9Z?9++?HMSA/!EJJ7"@]COH>D[[ M,9;QO,%;*<5;:3Z&MV*04_8#.64+*!VA& :H).0AGL0:,P*/YG\FH")RB@;Q M"O-'FQ"RHF0,"W$)R\N3*$SX,2)SN@-7->'P/ WS$>DFBT6(BF5>ATAL$U>Z MY*54PQ?Q.(9["[P'/?BH6/ ",G+[;@S7GKHE^S UZLV:G@'!/CW#3=0KD]G%ISV-SEGP*._)E\4% C-8;4I2N A!R M7&\=KX8PL1!JI%.W.N5_6G6H3KW=7 V+XQ$$C57Q3Q9/ZKC1V*SFG+NB#:>ZK\L!:ZJZ7\ZR6.G5WN>J!_@ F,?IB-H&JL M3)JQZSB>^#6D68#S ,IU$PGQJZ9[-XL%J M6!'Z KF^TL4!_5@?Q>,YS[OV;M('RD%U+:C%NB,=U/C)C79)Y2Z%LK7!;*A" M-CM2S:[/@G"B)EJ#-_1#X7G%#]47;T!XV('/_@4W5C$M_>__W2M^'W6S&>Q&'@PP?%YSS8).DB M^W%#WZ6EY]L]U4N\"YNN!SF@YZLIX1JI2[?]X7D"?5TXJJT(].8FNG08ZST:N&+ + M:A2'O5>N9&I@(5 K,[5:_,AJO^%OC86W%0OO10_X]BV\K<@S8^'MC#QK/BK/ MLLYWOUR>5^*Z8QM_U\-1E^^[Z?[9SOL],OAZ>WL_-]QCU;HP%\ MX_5-7^Y?33 M(:OV+[PO/*/4C5+?=Z7^_?KBD)7Z]U!$L!N;M.$KIE:W_7PU^7_[:GT;]07M MO5;IA/[%OB/^UR52G!/78:T9;V/*E",;4JO=:*?K2Q]_ZX;N9M)-M0-,M@S-5";RZUF-X=2O M;5E6"K=E4.[V ^7NQ9AS=3#@H<_C*O;2]CR\,RG;2K)]8W54QV3KU;G,SF&7M5OVXO1FHL?9QO=4J M?V1%K+'-*MDES9HXF+S@<4?OUVSQ>-DM9T:16QT)'+A%8]C,Z)=<&%Z6)1>T M&N&Q>+_Y"X-FYYOOH>O;[H1[\V1\:TP'HZB-HMZ5#7Q*49\GO@TS^=WUQD%RT#+RB&M.MHZ3GZEFCIA2[_@^XITW[,1_^N M'SA3^&\4C[V/_P=02P,$% @ IH('6Y;?[BTE%@ 0O\ !$ !I;G1T M+3(P,C4P-C,P+GAS9.U=6Y/:.K9^W[]"AY>3J3JD;^DDG=J=*3<-'>IP&Z"3 MG:?)=D&&U\DT[#C&7<>.F"TKM_2;>GBW__^O++1$^$N M90,1QV06=1:WC<=II_FQ\??/O_WV^W\UFW_:G&" M/6*AG]1;(F])T#?&?] GC$8V]N:,KYK-SY*LQ=8;3A=+#UV>7UY'Q:)?^:<; M\O'Z_.+\HFF^_W#1?&=9\^;'#^9U\[WU\2,V+Z[?F1\N_F?Q:3[_0&:SF_?- MF_,Y%#LG9O/F';ELXMGU^XL9^4@^X'>2Z;/[R3679(41F.:XGY[=V\;2\]:? MSLY^_OSY]N?56\879Y?GYQ=G?_1[$UFT$9:UJ?,C4?IYQNVH_-69^'F&71(5 MIX[G)8K# ^)Z;TVV.A/&GK^_.H_*"DZT@#=U7 \[YI:WY?&FMUD3-YL&?CX3 M/PLY[YK@O:N+!L*>Q^G,]T@'_']/YMBW03_?^=/'-IU38@&X-A'P)0K$?O8P M7Q!O@%?$76.3*(W[_!M"PN-TM6;<0TZ*<([=F538Y9XD:Z G1XSL2>#3I1T MH:BT+57^C-B>*[XUQ;>WSZ[5.-.7ZKO-!<;K4I+C-('T\$D9#8H SE(CDT1\ M:T9T3?&H>7$)2!^LPRZ R^D0T;U0A\R@S0-%12F_NYIJ2$8N,=\NV-.9R7S' MXQN=H,@BB;Z4"8<$,XO0,K*CXN+#P3*):961&147'S)D8L=AGJ073\)GZS5U MYBQX (]$S'R* F=,YE$[F&ICPQ;YXN;FYDS^"DV@),;/MLV2PY&1^VQ"M=#-JL?ZYYN0M:!(520E(1K_X&200%]I,:6]O9U#$0L3A M;<,%'&P2N*C*]EMD7M9^(*$._8^PWL:SLM8#";'_[0TWL5W6<" Q??N0J!?D M4_@=4>NVT6(PO!SA!:@GGC^.NWFC"BEU5SSB&7'=A>'G<_GO C5WX]$FDI1( MD/Y^MD^PQ\IWB35T/LO/^[4[) Z+%!#N^4>;+EF=,LG"AY$?B[P['$R&O>Z] M,6W?WQD]8]!J3[ZTV].)IK=SR0N\?W-S?7EQ+;P_ ;>1R/TQ5BCDA0)FKWA, M)R/,P:HE\2CHZ;X0G3UF2JPN];%";Y+,_U93\"93^-MO#Z:386R/QNTO[<&D^[7= M-L:#[N!ATAM.C@6L!G\ESN_T<4Z(0Y$\]$9(_-LK] EH)M-AZW^_#'OW[?&D M_8_'[O3[D3 O8JP$^UH?[+B<_T:!I%>,D]7/F'SI](;?CE:=T_R4B+XO47V! M/9+\:XKCP)@^CMOQ_E /KPPZ)2X?Q&R!NJ;-7)\3^!(P27:7-?+]Y+'?-\;? MH?WJ/@RZG6[+&$R-5FOX.)A")S*"D&UUVYIX:/)28O1Q'Z.0L6S^=JS1CC>* MF-<(.:,%;?^D*P)6#YXX@1*#FWT,8M0U%8NP[$"51.?G^^[^08 M=8VM[.I%2Z_6+?[1$;!'S0EE&-$'@8#N^_=7L] ML+\+;?;@H7O7:QN3B78&J8B!$H_+?3PB;A*/'3\4,*P1+AVC._YJ]!YAL&A, M8)@BQXQZB&23*K&XVL="\$&2$8ISJA$(,,P8/[;OVW^,8(;=GD!,#J=?VN/6 MXW@,GNAUC;MN#_I%W1Y"GYT2K'?I3EKR1A%S68$D>Q3R1S$!-<)0-$:Z (5E ME=Z_WO=^0%@CK]ZW[S0[:EE2Z='W^QX59#7RY[@-P[_'=F<\[+>&@^G8:$TG MW[K3+ZW'R738;X\U UC-1HE$:IH<\D2"*=IR18(MVO*M$53QK"Z,'2=?C'%; M#YU,2B4@J3GQ?IH76"')JTX@R.RGIMN#LDI'IR:^ 6&-O"HSS'?0E=V+A048 M1\BDV C&]IIIH'QZE?<_I&;$DEE3;DM_C!['K2_@ M$GU,\LF5D*1FRQ&O !L4<:L;(F-PYOBQ-077#QYT.^8XB=+SJ7EQ@KY&KHXB M[JX]:'>Z4Q%HFD.A3$JEXU.3X&W(AWQDK-=IN#-I/XAI?W?0&8[[AG[..8-. MZ?W4K#9D@F)V;JXIS%FO*0%! MK\0BU:=D+_G4$9:"I9LRZ*C9*$%*)52+UX'J"%;FJDX9F(H8* %*Y6=S%H?J MB(SVLDZY_KX<4R6"J;QNN16C.@(;K.J402U!H80DE=D-R.OH:K'<4\;1L?)* M-Z?RNH*XCDY6K@Z504"7F0J>RU3B5VO!J8[X9:T?E8&L@%Z)4CH7G+<*54=D M\A<^RN"CY*)$*37E+UQ$J2-2N"44RT1C:U;#3#G MH,T3*85?$0,E6D7GH42]BQC6'1K#_-.GG%C8=8GG8L?J43RC-A57U!BNZZ^( M=2AH)5BKX+Q*I1N2<$:B4" +@3 4DX9"<74'NPM&. L*_;TA_70HLGE\E#"F M\A%)&'=\4<"X[H"-.!-W/N*N(^[FE'H=BED!*R5LA7L2F@A8(\D;Q9C7$KK8 MCH%2.&70*4$IWJY00^=G[3X=]OR;<+FQP8ZG[,2Z51218ET) RQ^2O4JIKG+8FQ$G4.=Q5=L^P#6BV84)Y.N#)E4+J=,XR"NS0]T$O$COD5J(:F7>/HZDSE2 M>(7Z$)L^$>M71YN6,LK@2Z6FCA]\D:)-J>EK-*JB\52!=6B,O$OENY0Q\HJQ M N..[X$KH>YPC_Y+JME^7A/'+9>4?HD )>JI])@2]4 FB@M%H=1:XI^Y7?JP MY0<]5DI,4[FSO#W8=5^4R/1W+(G?)UAXT,)>!U,>],G.F)@^Y]#[W6&7EFNV MCRA/&02ZMS2)W<2Q98M(!80]))2(NG@';?5 4I'7@(D\&!_*[7";]\@3L:]: MS/' 9V R?'*I17AHPM;E+X^@(RF@#*E4OC$_I/:&C_%(FB.I&+I".]500K=$ M0-8QS+3/=)1$KEB? ,C[#9//Q\/& 1(D6)R5Z>>?OFLE9,. 'O.N<"PG\A[XIV@XB6]/>)YA$,KUH+9'?5*0:/'2H74=2K#*,]7 M-E&,-0IYB[H4<*\M=H?5HDQ*)3*I+&"(S&L-"K*=B5$ 499' F7BPX641C!/)$'+_DV/_%4I2X MIY)Z>D>@)5%,LARIA+)?XR$+J<,:W_)LE8AGG#C40[S>3;<2"<,$WU!O,R:@ M*K$\9M@V^RE>GSYG/!AY]!@,Y(_< I06JPR05 Y.-T B55"H"_(8VFJ#0)UH M !8H5,LPRKH(H51 %#%00IM*VA5.^:Z?^*L5YAN8V;.5V-%Q\)Z5EXE0 I[*^:@ M#Z7*M$),;JTWKA1@Y#'SQW MY+ABU58J*@\T!L^.%0J:8E3AD'Y)GC(CQQ MRJ H>;=57E#LE*C]&=,"\+9G:,8 -ZOR7=5K3T:C@^KU M@;R5Z.9? Y:%;K(2"X&O-383E1'ADR7F9 2-''&W"4OAL>/ KB% B7TZ15:, M/EC;7XJ2",?T.S9R;4^N>*<_R]JXF];%G+B&TQ3D63F=^^=SH M"_@K,<^QO$Z&\E$":&U!#]]"^Z!*UUJ/DHPTSFMC'MUZUY;TXZ>D,4* M[!F3M=BF[2P.SEX>PED):CK]E EJ* IM9;WF(],UBGCAAK8.9ZM'!\_GU*9B M9M?R78^M""^Y:/42"4K@=5Y?*FHS\:)M>D@(17&I:"OV-02DP\0V5WGW2'#^ M8K9Y(&S!\7I)06&#$_S" -#FKX0_E;#*AE_NVPUN4PF/E,PV*"X4":G_Z>C_ M?O;L?L+K-84V3SP)OCL."W27C^ )L8EL)$5L );>/[\1NEA"/3&>",<+TF*K M%7-DZL>-G3OR&VC+!>'VK:XW#[B\CSC-OVT M)IPR2]ATV[#\X)!S [D^D%%/CK >.//7MXV@./7(JH$\63QX(E8:H(^!YX)) MXRS7ZJ&W)'S '!.[RZX#T4S@K^U+):W_@Q9#%'?CULZQ[6[-U24O8V;PVPS; M8E_A;<.4FPI+60\NAQ#G&PW[05TNCM#=D^#_KB/'L6#I-^HMHR8S.E^W$:;Z MG .+7)>\@.,+O&21V>F<-.+,),1R19_27JUMMB%$+F&-?&XNP<81:!$$>:Y; M2O&HJB,ZC,\)%4BMK>;PI/KF?O$B*AI71/8ZQ*[<<2_3: MO=TP0;ZY?*,V^R!>%?'#[AZ/;3,(C+(PPWGZJ.4P/&HI7YRC]M(AK"KBA18@"@TB PN@A>0 MI@1U.!^0G]\9_]$GJQGA><,U7>H3&FNQ%::.3AOY;!+7%4V\XS&^F2ZA*U@R MV\IO&7,)3C3JC(ATQITS%T;M'BEA3A')KS?H10W-:9HO';=01U1W[R\>==^3 M.8$QKR5UCD:&N4[(*5U5X^0@[0X&(59\Y[C!N;CA2A2]V^R*C (LY58P^>=K M,( ;BVFD^P\?ZBD;.'0?Q&K:T%9.J=X>P5K]*H@(^M]1(G[9&;Y M\]"3RJQJW>N!P80,U_)B.#&$@6"?_ GA3#J,B3B63_+;6VWZ$@XH&50@"^M4 M",?QL2W5"2MS?@.:6?;?"<*!+^KR<*YG;@D.)VK41')X0?A?W#*T@CQ2_ >Q MA2)1??^2YD)/D:H&X/Z%V)&I!1F_/(+*IEML8GJ<.=2<0K]?W*-FEZU"K]IV MGB@H)AYB>TK,I<-LMI#7XA8:I"*K@FURF.NZ^E85$%3!GBCO?8?-'Z"=8E:> M7;@*=G3D.PMZ&2]7$%L2148V?L.;,8=A]'>">8?Y/#_3^Q*>A[>B)VUAH,'W M112:BN'Z?K$J8!P-#^1,:>C )$CNG@"G]8E(NZMJHBYY%6S-Z/9S+H".S23= MW5&WT-B15+K,X.(E4HX]^"Z=[.E#C5WYJ^ E)V,2=/<=QKO.$PO.)BCR.OH, M*KMRJKXG7-'(:]-7H9XD9Q-C(LBB;U/"5_E92R7AK\]=9DV8MOG&*;N#"1.U M]/JR0UA5=2+P#:;B2^:[(L4ZG,^A7D[66+3B16&M(*I"+$_(BI9)'^26KRIP M?:^'?4[L8J3V2U4!FCYVW#DEMJ50?;]8%70?FAX#92[/+R^,!2?RUV(SBBBJ M8)$!7RUB]1AV-"TJHJB"12)[VW7$*1OQ/+I*M$.?Y=2#<)CAC[%'1+%B0P]@ M5#W[)TN85@F]OV(NA;6],<+^)\F\C47HK.MD!U?:XFYV/(=;/V6AI5T1CZ;7VISV[$>7<)5:?5$ MH2JTND.R$M5N 7(8=V%"=D_=X(PB4QBC0UD%"Z=+Z.S$*H;93QT,X@0?M<#J@2#*MC[E5J$=5=X 5%5 M;%A6R2I8T+$W08V8B>Q-US$I-WWJ3>7>4 58>K15L')"^!,U97Y*G-[1C<5" MHFK8%:LN?),5LDJ6# 1[Q2FWD95L9.EJJ"Y M;#;[,-FC05PH ,@M7@5;HOT9AMXV#J-*NANF*=9H=%)_Y&#?A" MZ,()MK*9FRG'CAN<8NZNUGL'@).;+8\FH+)+OS#FOCR_O K/'HKT G0^XLB= M3%:%^(AMUYB)#1Q[1RT56S_TB"MA)R=BT5UDH0[8:Z9#6P4K6TM*YNUG MZ ]$K 7KL5P^#(_'8CM\*.?X3]056(^WGSTEJ*G5FU"V"]7#>VYN7PO]7JGTC]=LC(67'R0BEUKF+!?M HV M''P8L?VG#Q.WW(U+":)66$MH10^_Y%Y)I%A!5Y%5H6>7:WV/<7/1.S "+^&[]]0'L%2DU;!QA;C:P9" MR$AL@E/!E%>Z"I;5>M:RYA%/GYM_\'4$L#!!0 ( *:"!UL3VRP"3B, /MC 0 5 :6YT M="TR,#(U,#8S,%]C86PN>&UL[7U9D&6Y2A$J MR2/)73U/#"P)F[R:BV[8HUCD?D!]R0R+QUW_[ MG;X!]\N__?U/?_KK_P'XYZOC M@Q>O)^G\#,?S%[M3#'/,+SX/YQ]>S#_@BS\FTW\-/X47;T=A7B;3,X"_+_ZS MW3!I.="XEKE2S_?^__ M4HK%&+T!SPI]C6$"KU! B-KPB YM4(N'CH;C?_VE_A'##%_0\,:SQ8]_^^7# M?/[Q+R]??O[\^<]?XG3TY\GT_4O!F'QY]>U?+K_^Y=[W/\O%M[GW_N7BM]=? MG0T?^B(]EK_\Y^\')^D#G@48CF?S,$[U!;/A7V:+#P\F*/?J/^ M!%=?@_H1< &2__G++/_R]S^]>'$Q'=/)"(^QO*A_OSO>O_7*X7B.L_F?T^3L M9?WUR]VCPY.C@_W7.Z=[KU_M'.P<[NZ=_+:W=WI"X!O5?CD+$T>+3P?D,WH?P<7 P#'$X&LZ'.-L]GTYI M"0RB2^A*8> ,HCF9&PUD(L8197$CR\A4OZ\R] MQ-%\=O7)8BX7\_@XBHN)7']<.RE-SL?SV=OP-<01[HSS$:WF*7T\/*9,)SCV=5_7Z:3LZ:\F4^V**X+SM ( M-R75T4>G08.J;T>!@,GY_BM.SUQCG5T D!A]Y8&!$D: 0(X1D?1VJBM'YJ-&UMJGW M82Q# /5C$F#326\F_=W)>#X-:?X'!1"[Y[/YY RG]]13*8E+KQ+8+&FDC'F( M-BK 0K:K6$Y.?VL7:QEC&/U7H%PL$B")Y0:*$B8]B8'O=1;#JN4XJD9^?3KXLG[T[.SB;C?X31 M.0X420XQ%##1T;*4'FE9TBS'X$7@JACO6>/1/89E18\:.F7\AD2XR_@F\]_. M-\IY6.<@C-Z&8=X?[X:/PWD8#<@*9Q:# N9\ E68 E=2 N.=USPS47)SY^AA M*'UREAM3H<7D-V/"6Y(BDK[-BT%>4-*AY$YR!CF1BZ:<8A!3*< "EX2-(CK= M6N$] *-/_G%C!FPZZ2UCI/.S.JUX$>&38OHXQ0\XG@T_X?XXD5T^F,QFAS@_ M*J?AR\ K$T5V'#PS-8VJ!$1'_XH19>"1.-I%6F85B'URJEOKC0Z%U8Q1QS@/ MPS'FO3 =#\?O9S= O\8R3,/YP* E!%% 2MZ"$C( V3@/VG =A8C"1=F81$^C MZI.SW9@WC472,#:K7M -%8A!*2U%!JT-Q1'1"0A:(7@G.(TS69MT\SCL-H9E M:&!^3!IL--WM+,YLAO/9('$?I!(<0E!$.%O5DK0*O"[14I"7 F_M8ER\>>.D M\R(1OGC4X62<+D-52\%N1)K%P'BFJ:2H.-A2EY-B0AA2M::U2GL02)_V)-:0 M]+VT\L:3W8RWOTXF^?-P-!H():SF(@"39;%J(GANZQ)T7(6L;+*MDT57[^Y3 M3-1 NFM-:4>[1\=URH[*NQDN!C:(V7@C?('BR PJ50*XD#U(GA3Y4"XE'CK= M/+H#J$_!4(N%W6SR&QNFJ]RCML4Y26$X0S*0"ET")R@@S]JDH+.-(?I.[%,/ M]P8:R'O]R6TFW_WQ/(S?#^MV]H5!P?G>ES0ZKT5(UYJH.)N$"*PZO@A*:@=1 M9P:2W*3@HV39MHYOE\'5I^"D 1N:BZ(925Y?YF4NHFD*HJ\!#BQI)*VD FV% M A4\>&\3GM]?MVM M)=6,XT3O&S ?=8A< .>:AJMU 2](.PLME5*L*.>[R-(\ J=/$6]3ICR4OFDA MDB[6Q2 +Y,EFLRCX(X^.0O(8:(GF&%D213%G6^O$&Z_O4US<*0?6G?(NJR,X M&AU=B*"S*Q2\*T6V621()OM(?&2.MQ;]4_JN-[5T[1FPH0 ZBI99DDX(3PST MAI&3%C.$$@2Y[ME;\MX"TZU]X^]$R^N7BAYCPN&G6K)(WL;5X+C#XFVD&"1Q M$I>Q KPKY(-DD;(73DO3VMY]#T^?#-[Z+'BL8G1C"33,%WRB=T^F7ZOCJ9CA M)9L"P=JJ;"D><<$C^$+QB4PN&-ZZEOSF^_MDX-K)?.T9;K<#&68?JC-%?U5E M^BF,%N[5?#=,IU_)O;K8)V,J)UNX!@)8J]>% X<^ V9G:(B^1%E:.[S+ .N3 MT6O'BO8R:5DK]3$,\]Z7CSB>?3L5-Y]W8AG4E&2XLA^1,(JNL)?A(1CH75P**(&7S7/GC:/KD%:TK_0=WOS>? M^TY.TMS DI-A-.=VGW[X; MA_-,%S3@GLW'IQ)+E>(5E,L5K M?P5G>U^(+41ULC/3K_O$T$7L6SDT&=%KWN_3$*P&JM M49B2>6Y=T_I]1'U*VO2%I0\F@=K(M'TBX-ND#;S*+-F0ZO!HC-((H&%+*,(: MG>I 77-RW8?1IQ10;QFUH?1:5F0O1G/)Y9LD'P3A!;JDP7N$82SV+7E317B;0PI%!TJ[VE;(:=.8B*Q^XEJTW M3!^!LJ(WT:W:;\VDS2:^W;G:*0WG[712 60"P**MK9 *@C+.0@Q*0[#,D2>2 M):;6*OK&ZS?//,WF1^48/^'X' =!&R:]*2",%"0@42":8,!KLJ].Y\A=Z[V. M6P!ZU4MK72'?3R.M.\4-^YLL7GZE@^\FM6AM79QCJU4H]+]<&[$D+X64PD+@ MJ0*-M+!8<""3^+US >O/=$/5.)M/S]/\?$I(=C^$Z7L:E/4Q%4U! MGW%8-X$< ^>=@20)GV7%\=#:FWL(1Y^46UO);SSK[?HHQI M&.V,\TX^&XZ'Q%K"]^DZDQVBXI)Y\N&*9-7,UUM7# ,9O)->:RNQN?/_?4A] M*@YJRX^6LFAI/I >4XO_7Y/;-IHLCGU?08I1\EP/D0L62*,)'/7-^L[7,-YOR9R@NVCWZ M_>WQWF][AR?[_]C;VSD^W#_\]>3@Z*2;6J,EWM9=Z=&J0VU4B;14UV3EM F* MG&.KR&HJ(AT1I A EAS-:RRZM"X,7+VO==NQU[.6;T:3S[]A?H^_AN&X?KA3 MYC@]QC0*L]FP#"^N$22?@+"\#1=']R)2K% ,U)X%H+SEX(/UY#22\RA,%N@Z M.0#6=!2],GNM^?E@,='SD:"=.7UD'&\F4Y+3^*( .7T]G8;Q+*0KS/6G2]GF M_W\^FU]VE5I,Z]L:,-,OYO/I,)[/:P."T\GE$(M25HL< )VF<%D4"\$E ;K( M4-!)8YIO2VUU@+W*C3W7$GA^ZK3LJWYW=-=3)TI)F2D/B,Z"DD)#\"F"0\P^ ME(C%M3Y)\QTX;2M\6#(Y6QI,Y** 8B;6:WPI\O5:B^3J[G;K1BW?J?!Y7E/2 MB@-WE\_Z,]ZY\K^E(EQM BZ<@A)8K8_PB^ZA!D04%.?E6N76/#O0Z':2;:G: MKBC27#[/$8OMG/SVYN#HCXYBK_M/[S#6>F(HC6*KVJZ)/,BWT\FG(3WMU==W MLWH$]G]@9)!&>4*F*1EO2.9U<13!$PEN,*$X[[UAOZC M8'I5'=01=>[GM5M(IETSH4LPQ[BXB>=T0FJQUJ;4YGXT:/)'3SZ0$_DJT&14 M;4JJ=#&9@^*BLCYI<*K6PRA/:!.7$&)AA!_)"K=.4*R+M5<)QBW1;"MR;=GI M.I%-7]04+WI+'GU 3H/JT<[\M6C455#?\N:541?32.V:(Q)K@%&TI-B!G4B>NDU#12=>Z\.=1 M,'W:R7\.OJPMF(:;^]^,[\V>1H-44GVN'@_BT1F?F,%B6Q\] M>0S+BEOZ/X6U:B*7C5E20Z=;C-VC\&KR%7&AZ=Z>3],',I?U2H"%[9P-5$A< M*:O ,,Y!Q9#!^8P@E.8Z1\N$O[-[>C\Z6_6E?>K:T3$[.I5'R_-]#TW"]<;O MC4G(J"Q3-5$E2RUHP@P^ZUS/"T3$Q U+8CLAYP/H&ARDJI>+XVN\^'M_?-D8 M\ZH3U(,-,@>,>Z5TSB!M(ID9FAT?BX+(*0**H3#;O''[>DA_A&!U4](]<$:K M:YFVT=I7_0D23XO)/2]/Q&ASJ<4=1<-\X&EOR+Z-%!$!3Z MJH@)/$\>9)9&.)NUDZT[2*X [P>(.[M71&V$UR&[OMML:I"TTR6R!#+)>GF* M%!"LS&",,.2KJ!B;'\Q<$>(/$*UVS[)V0NR0:8_T81TDX;+(3%),K7G=/BL0 MD8+M1#+PQGMIFS>76QI8RBA$,M+J)3QP4IH<,8!6M;&O M%YS,+R%B+/&0A0T,VS?#NXNB3]TKM\:.C431K9^]N%7IRD$KCCG-+/%3U?#0 MHP7'F(:2BY?%!>9Y^ZY:3X!:AC#N9R-,2T&UN]SOX7U)Y03G*1:P-I)ZR\P M>5X24I#*Z)@\;[Z1L_YNLO^YF-) )!VU4TO<1I3(@6!4RRM'I MC\:(7,G6)N8I3$M198L-X;9!E:9R:LB>CU-,P\4\T;]'>%E??[-?P:!(+[EC M',2B9CZX6D^,!9 HS9E"EFSKX'D97$NQ:%NUNUMC46-Y=9F+N^?R^)9BUD^?5FXDO^TQ['++K41+D9Y! M*-K5N]>+AYC)7Y?,E5*L<<*V;FJU)+2E>*5^^E3-YF)KLU.Z8H[[QJT8&A.1 M/A.X6)M]ZCH?6CG(3!13M-%!+[=YNC:$I:CTDV2-MRBL+:1^OEVH/1"H2D(C M"(^TH"(GA6IJ=T//M=(^I8P=='E^$M=2W/KY,\H;"JSKJJJ:Y)S=FX!B@]&Q MIB$B*'0,O(D"2.OD+%@TKFRIJNH!=*W.9YQ.=M)_G@^G2.\D$LR_UK*W.3G! M]7;J16ND@9-.1FLS6(^UGYHCB45C@*? E7!)!]YZBV9Y=#]"]=2FY'KL#$9C MV34_^W.-[^IR/;PX(;FX _WB-WD@6,XJ> TBU[M^D=?^-Y*#DSXXPS/SJO4J M6P7?CU!JU3F_6LFO70\ 0E#_7XG^*8PN#B3-YM-AFF->P!OGVQ_<^.9;G XG M^;Z)NBPHV_N2/H3Q>SP.<]PK!=-\8+C6&5% M#¢<19\*Y#J51DJ;M(P3/WF?AQ:-^1^)\C-@LQ MD&.!C% AQ8[D9T"(=7=09N]HAG1RK=.2Z\9FSUM'_>/3-D2'WN_F6S+H]0)ZW /O'I^>FXN^P_<_.[K^_VS_9 MKY<@7X5K8;$]$,;YQ@;4SHRDA?DUSL-P-+N-:[E.0.N]:/.F0 T&V*@_T%6$ MO#LYBT2(.I!C3)/WX^%_$4DRL758AN'ZCH(KM+].)OGS<%1;U=_'2X0;<&YR MRBS7/6SY=E%C/6)LHQ27++ MR9) X,J0;\YR8D)P$UHW?=W*P/H4*/9AK=Q5[OUC5S.WI>70=F]N,B]VG@=9 M99Z2I-# U[MO?:WJ=25"%D4$&5)(KO61QFY'U*?@\F=?*AORJ4WE0LL!W?AD MT6<$";I'3>L\"T^>(*U]GSV-1LH@M+4LB?B4=]4UR%Y=_]TGQO>*'?WC^NZ] M4K;+L],WB]M44-J9H, DI.6L4CV-'UA=SHK+(@.+:NL+8!GD*T;)_[LJ^L.C M/KM.-WYQ8>]D"L$XRR (DT&%16\A9\$FX5RR*6-IO;>XA6'UJME8GU9/7ZG5 MRS5S=XRB"JF8S9PLN6@5:Z"RU5);;U@5)W8^J5P?/?_85 MTX!8O5PPEQGS&SGR@8M*VN"10BD508F8P%F?002;,#LI7.YU?'YO1'TZ@O^S MKY,-^=3/-7(SY_"M''DVX,R66$\*:B]I9,$HBLO\(EEG'7/*D>O9YY7RR+CZ MU('@IU\O+;C5YU5S.TB[U=3!(@9T3(/D4H+":"!&5Z#4DE-3QVC[O'7RY !7 M[,_POPY:?^C6RQ7U\,$]72SZ>H=:*8Q<4+2.AB4D!(K61#)>.]?G=,#Z)S6W MUBR&/,K:.0:[>W:ON M&'WDWEI"ZJ5"O6Y4-I L8"PQ@.4R@6(*P:,7X"7+2%&]-:EU\7(G ^E54XX^ MDO?YZ=/3E3 /X_?#ZR\O;,+IAS"^7NPVQ!BQ*$A8.\QR2Y/..4(NIJ#+QAKM M>KU"GAA@KYJ._/PKIR7=ME,0>Q=SF^K7QY[:M-1U*>@;UK5>=HFX_:+K,Y\: MN8V6)="!U40@KS=41PG..2OJT1"6EZMJ>>P-FS>,R%B&8UJ6H^&G^P2]'@@C M'U@K6D$E2/)Y,G)PEGY,"I5./",3K=7@DM#Z4+#9C@3W^T.TET\S2_SF:6!\ M8!FF8+D"9@A4;=14'64$1J/VR;G$36OF+(.K#\6+W=&FN60ZM#7[A__8.SP] M.M[?.]G MCSPE,UMR5/0&IV)N':H+WP56U [#V@3B1V3 9]C[>F:)$67+!K5 MODG=M_*3C[<.&<771#.,893C_A;."=Y=JE#$+7 #K2OWQD-$1E8^*1 M::DZ:U#^.*P^&)*-&?%H3_)&XFC?M_XX?/X]S'$Z#*,[N% ;[Y44D!VOOK P M$ 0%FT6X9'B,"N]61+:CR:.H^F WNF-)&V%T<+G!9/JO>O79)%$D=AM8<9FC M=1J\\'5[ ST$,@I0M U2"JN=ZHPEC\/JT\GF]C1I)(YF/%G$T=?HKAE\^_=W^V]_)^]Q Y_V M>X_;W+E=&FPC+_?1TWZ5.JYX[8.LU5'UPJ5Z,:T7]0(=%9)1,6LEF[?.^PZ> M31723DKG9U4FM8+RZ=[9CQ^$U,5SGX0'9UBHO24=.)HI*)S[B!3PF^;ST@I[ MKQH.-B/?7;WU+))NUX#P,3B_3NO5$C:+0"^.H$5MCARS!V_HQ^B<"3EIH>]> MK]W=JEP@ZI/WW1FE&@JE0UOWZ]'1ZS_V#P[(?.P?GNX<_KK_ZF!OY^1D[_2D MX9;!&F_9W#)N.K1F::';[UJ(?^_+9=.6ZRTC:5-PH8;OQA90S&9PG)@AM2V2 M.(BI@S!Y&61MTLL'#R4Q+U:"Y,F:P J@C*KV1492F9+T9DP\6VTS;]X1]2E, M_4HB->?/PWGF1B)JF#:XVC1Y$-G]*2BNMOL7#J2,I*TYA0^1E01)R,"Y*\SJ M]G/_/J(^:^:- M>;."7EY5.,^GE>L!*AFC! Q:@/))04A2 *MQ42$=8CMP;'X>K=R<5)T*L'%1 MPJ/4=Q89"D*B0\GDD- ?P6($LA4\U_LZ F[19VR0:GK2!;.!^URW^5%E368X M25@82N)8YKI(;IH?E/B1O.2&?%G9.UY%--M8(#>26;>N]N,L1,44 ^$RV8N$ MBASXP $3BU*+XKAL72:^.LI>74#Q/*QJ(;_G21F].9^?3_$FZ+TO]9YC["9W M].3K.DTBK3;81MFD)QB9EA: QD6Z MU079IDWAXT@KN'3'$=@IKQ&)I@2:&,@Q$UI7',2@*2J,EH=ZA7QBRW4< MW !$G^JD.B#45F7TG'KL\V3@E#0)?02G$T$U%B$PCZ!C*MJBILBF=5>8M8#V MJ7RJ7SIL12$^$]\.R2$^_8RC3_C[9#S_,!LH'GT)1D-1G*+HPB1X(0T$G25C M7'#7_-*YS1"OV//Q?P8#-Q+K,U'Q&,_"L-8B'I4WPQD)LBZC@>2Z%LT37"YH M#?E _\H\ 3-!R:B]3=O<^E@6]HIM%?]GD')S 7=Z2'?W^-W>Z[U_OMT[/-D[ MV3E\?73ZV][Q[KOCX[W#TX/]G5?[!_NGFQVK6OD=+0[P;C*L1MF2.TV4=L87 M[6+N]UN^[+\T\ :)%.2>(8\4<":N(.:Z]VT3]U9)$9H;H54Q-JFR?V#H01M> M2K&@=2'/M,1:WB$%2*5#$5:E@IW4SS\UPN?-B73*H >KYS<43YG^$ MZ32,YU\7(PZCW5&8S89E>-VR;&!#4E9$#PR=H=B&%&I$5<")Z#S+14G;>LDL M":U/:8ZM\J@+T37CU>60"6-!PC,9A]$;_#9NK0/WBF)CB9*!RB%#X$F#C5HF MS9%,=NMR@>\CZE-N8ZLL:BBHUN0Y"2.LK5S.A@M@5Y"<+$QDE8'""@XJ< >1 M1UFW9#7*XD+ UEG_[P+J4X[B.:C30$S-F+-'?O+D*Y);OMA8?6# @F>'S-3F M5_4F)J4C$5H8*,S7$LA#]TY^#_/SZ0+> MI!S46UEO77VT=MRV_,,W#]C6'$BC2.V 3 SB]=78E;5S5-N*[SKAW5UEMB7!-K.5RT[*O60O%TQ%TKR0BB^D M\5, 9X6#8DRQ&;TNKK4)71=KGX+#_I!P4Z%NG8)7.UY>>,6C%1"E(Y]2APC1 M.X225-;%R;FK;!AN:TXLE>$6T>$S\.S174(3X5QIR1%+XXT,EM$+QXA M8HE&&IG1MB[S61EDGP+/_G%M93$^"]L6A2,&;7 Q%.#)*]*]RH+SY TXCL$F MIU"'UD?W5\78IQ"U=UQ;68AMZLF^"_%T\@K?AF&^7:)46$A)4IQNC*YW\WK2 MPU@7A16J2.%,X7?4VB-E9*N_NT][UITR:!NRZ4.J8W"GQ4GC9,> ;S/=<7

5\'CD#0,7D\Z):4@<:Y&D M8>#KCTXZ)>H%XL*U'O(C4'[(5,4JC+FW!=U )-MQE][5'G*+C#3FO2^UA>'. M6?UID&LI#\L%7 JI[FH:B,E1T.I+8)Q)*5GK7:"U@/Z0&8A-N-6].#LT?J_W M7IU>G/BZ93,FX_=DJ<]>8YQOD.=?_N&;&[XU!]+*[-%[3B_?,V#62Y0Z U?) M@/+TKUBOR5 L>9Y]"D8T3]K<>/_&ZNG&L[[-Y3%^O%PO1^7M=#A.PX]A]$@% M8I#!,I;!!9Y!*27 U8O])!/",DA[E95_/GJM++0.O?J]G>/#_<-?3PZ. M3D[>[AV?_+9SO+>!'_^]QVWNN2\-MI&O_L>"B)AW/E'$]AX/S\]B]7M>#T?G M].G)AS#%V='Y?#:O[=S'[PG)VT('@+H(RY 5%H35PQ!QU)KTA6^_^KPAQ M\^9G:8J5UF%4RQHGXXLW[,SGTV$\G]>RN-/)XK-7%-OFR\!YIY9AOU_\=[,! M+RHYS6N/>R%!)2;):->;%:)V'*WA(K+T:P J=X$ !4 !I;G1T M+3(P,C4P-C,P7V1E9BYX;6SLO5EW6TER+OKN7U&W[^L-5\Y#+]MGL32TN8XD MRB2KZ_035XXD3I. #( JR;_^1@($Q0$@-X!, 2UW%91)(7]9<2W,R,B8_BW M__7MZO*7KVDXZ@WZ__X7^J_D+[^D?AC$7O_\W__R^^E[,'_Y7__Q+__R;_\/ MP/_Y[?C#+V\'X?HJ]<>_O!DF-T[QES][XXM?QA?IES\&PW_VOKI?/E^Z<1X, MKP#^8_+/W@R^?!_VSB_&OS#"Y.S79C\=_M4F(PDE%(+2%$2,&8P.$E0TQ@4J M1=#T_SO_:\XZ>6\56)+QUT@*8$5BX+Q4U">3M!.3#[WL]?_YU_*'=Z/T"RZO M/YK\]=__?_GKK[_^^>>?__K-#R__=3 \_Y41PG^=_?9?;G[]VZ/?_Y-/ M?IM::W^=_/3V5T>]>;^('TM__3\?/YR$BW3EH-;+WX\/'R/M]<>_QM[5KS>_\ZN[O$3$DT\8?_^2_OTO MH][5E\LT^][%,.6%Z&=++J!D@?/_ED_[=6U,%PAD&*Y] OQNZA>*5\0X[]/7 MQWS[61!3=M>7XXJ('W]V5;R#*]>K*>!''UT![>2#X"I=^32L"?7>Y][!.0/Y M$&'Y2 271N-_#8.K7R?@WAQ].CGZSA[OO\$O A!2>31'$RP;K*8^ZL"*G3Z_?* M;O0!_WKSK(*_[=K2MW'JQS3=J698+@?AWB]=EGUR<*O82^?3Y>2[9]:\* ,)/Q_,D!SY1D05!FB(FX7J$?TV(THUEV M(S\AQLTC?BW"_C5=CD>S[TS$/Q']8A13"5=8UZGSE^E,*SP3O9,@D\>5)*7 M2\W!4V*C55*Y)%JM:8+@_GI^<.9@.%O9S2NYU,F2AX.KJOH<#ZJ)<:HI!/V7 M7P;#F(9H3.&/)OO$7\/E8)3BO_]E/+Q./[XYP'?DV_C=Y>2!^/:F\_)%-2:\ M^^_KWOC[F\'5ET$?_SHZ^-8;G5%B2)*"EA4%$,Q3<%(F<"R;I#(E@?E6Q)@' MJ")/GCCMG^#-"HI>Q)FU!3Z/0FNRX0&FMY-SJA.HLP?V1R4VS 54D04+[:Z9IMMGPC+" M;L A',UZ)^,!^&?'R<6ZYDW7'G)!5!<&0C+\F?]8[164,Z@IV<>J)NNJ^G28W.AZ^'T":8KN!ABE-!.:/3#\ D0V%A K M!Q,0%8N&.%);Y0O![(/JZTBZP=M^$.-$F.[RL^O%P_X;]Z4W=IR#)DYWT(3"J=Y@3C:WD<=Z%LGA%- M5;C8(UE9_@V,TL<+/M/XQ."U!9.]!L'1+G*)H=4\L9%CIHJ;ZJ')ARCVFPQK M2KV!-3K':YK2](RP'#V1$:S7# GJ*'CM!>#NR#RCV42^ ?]T"F:_65%'!PT, MUD]I/#6&/@Q&HS/*J$Y*<5PB.D^"^ FB0A:Q^@Y%S)16ID0]P#L-PE6EW4# MLW.145RP(="C?.J^G=E,J;!2(BCT=JGQ==<.TW3:IK MYC%[Y/H!K_][/1H7BWMT.E@0BYEL<"41*I;%X$HF^57'"84UZHW321I^[87T M.0U[@WB#WO]\RG,Z2E^$*9+0+"CL\3+I0-W$)5+"!3?3Q1@ M!"F,(M[PG'+]^_^.X/:;@VUT])A,NA&9)D2_AU,21J-$TP!W>P'"H_]@ V? MFX$]U")OATB-LKY)*ZVGH,9-,TVWI.(W&PUX8ISCYM8,BE;\-B_&96=)4 M) />:H)>1\S@LL$=-6A!@DTAL/K):ZL@?94LJZF]QYRS+7>OQ: 59]1D*H$+ MIT$H-%:MR RB]A;?(.JXB1OH*AR*AG.9\8SQ[PD MH!TIF44!'27%$W@?B(HL!6;LMG>Z6[2ODGNUM3B'@'5BZ8N@3WYX]&5B#[S[ MEH:AAQ[.F2M0!=H$W%&4%%46+#$*6 R)"">9"GF3Q)N+\A43;GVMS2':VL'Z MI_;G^8BU%IYZYT&K(B#'$IBH,DSN.&6V1(G:B01+@WR5-*NDLSDL6SOJ_^2+ M\>[JR^7@>YI"_WP]#!ZZ (=1O= MTQ9#?96,JZJ_.;Q;^]+AJ3=E(>PS)ZG@EN#A[P-*BG$-SH>2*YY=B%IRYIK< M6B\+]%5RKJ+NYC!N[8N*Z2M1HM H@U/W[8_>^**(!_'C-R8__>UA0/K,:(); ML G@349KDSL%GE@%1$E.F+7$Z=H)NZO@W'.^M=;<'+JM?4MPYQ;D.$V2#T\' M7;$'$E$@2D,*U)4\1(9.ML@04N(V94.MJYX1NCK<_2;?IO0XAX-K7RXL2D=3 M2N&6RPQ$-TE#(FI2>PE,1\$U$=*SVL=HIW3 .IEM(3HFHP G%<-S1CBP.7F0 MVJI,:(C2-XDN/I'95C-3"P]*&9PMU_W&H^ZB12XCIURTTML0-'>U4SF?R=3Z MMU\?O/@?\*^K-64X^?WCQX/C?QR]/SG\VZ?#]X=O#CZ='KQY<_3[I]/#3W_[ M?/3A\,WANY.W)>'_G6CF&Y!ZS=B&&-]51JP?"^UW?]@+O4<0JI][74 M7Q]<7@[^+/UQ<.-Z,TRQ-R[Y)>X39C6H;$I98)F+$)1 H,C!(*5-0D(K^2 MXK7+4U;!N?;F$2Y2O+Y,1WF)IT]+V'F4G/)28"8$6A>FW!J7&QB*6Z=0FD8C M:J?>KXYV4^TAFG/MD6&X&05NN]G$:#C&\_,:/W/XQ0W'WS^YJS2IE789S0AF M4%@NE,(FCL> 3 G*X4X#LX*R3F7D^( [#,2__6#?HF=OK97$AE0^J"CZBAG] M!<]Q^G+C5Q^<#].$8@\AWE1-=0&Y3.>)9WC2&=AF.U#4T>%@4PK8&EMPPT7; M/W+ 73>4D* CYX1:&LB(UHZQCME&.TV2Q8TI]@B29:1>T5R%./X[ WZ*D?Y M>("[Z@BA'?3CI(#N*']*?_YC,)SU54B&N)""!N^, 2$I :-) .><"($FKJA[ MSO1>XGF;BR@TU-2@K9@;5 ].;MI/\9FDY31&XL F>8TTQ;H(%KM#@$ M 9!RMP"?"<77UMXS M*NOM(TKJZOIJ%N11.CE'!5!%\12Q: %[321(IEWVSI8P4@7-W7OHA@-JJXI] M4$-F%:VK"1#W[0X0DDDT+"%^;?$TX%J44CNDHTJ.9!Z9\YWN?9]3WMV'OD#E MK2RS!L[5W]#F&Q>3W8VOIRVFM1;4J>@A>OJHG5?Q[EM(H]%A M_RLB&PR_GZ*^1R5!' \VRD,0'HPHI0@^<[ $ET^,HDAI_%EZX$ LR*18](3- M:WEC:9_U)%MQKYB .O(C%-@XS8'E N%"RPA.* ,BTU*.0 V@#VL8IRE()CLI M?/$S]EWEE:3;P*CX/!R@[S7^7BX*Q@?]6(H_OI3=Z/=1RM>7'WHYG1G)N&9> M0ZDR0M_)DE*(AIYT2>FA3NNL:[<=Z0!KCSG32CD-\FP^71>9'>7C]&4P'*-L M?D04LJ:""%LV8[Z$J M4CB9UA",SFPV-G B<9)>BGO>!_R0RXD9_OZZ'T=3F:5XEFFVC$\J M8LL8^(!2<>CN@Z:9A) )LP]SF18E]*X#8X_9LV$=56SL/$'^-N4T1&%,8.%! M&E**HS.3J./)9@BB;(KHG8/):&>7ZQGK+'KJ#_-)%K!F[L?O.QO6EVF#9L:( M(UZ'\1^N>-+C[T?^LG<^R94Y3<.KLYQ=RC82B"PA.!\S>,H2V$"$-48[96LG M$#T):(\I4E\A+;H5/Y=6]616U=_3:'S;+8:>::$T"4D!\;E4UB0*)A@'DF>F MB2."Z(WGTRZ!_Q5P<6OJKM@>>;+U5EG(<>_\8CSZKVLW'*?AY7=<5\!?<^?I M+(J@$JX!2"PSBXG28,KZ1#2::OQA>%@-ON!<;(MSCQF[:UINT6MY[LB$QZOS MSZ_NSJ*"8#P3%8!3;5#8^)5QZ,*0G%QFSG@KJG=+:;&0/>;V[A!@<4/GBCU@ M#M[\U^^')X>GAT>?/A4C:(S.T!H=7Y[ZN+7[NW3&6JF;RV_7(Z32Z.X$BQ_< MTDH'FB)N3;9R@&;@4H1./&:>%L[T/P4GGK=6>8\9?3;]SM_F^8G21^= MTYX"=0'7SY('R\6D(B/Z)$D4U6MEEL6XJ4XLU7BRN.-* Z5LN\_*$]*;9,08 M58[X*-%!+^79.5LPW EP*C/#:2*XI/8OV&YD#[90_Z"^&AK<^ C?((GP6WG:S"*JKL0(_U]; =PC 1*;>(,9:!9D)R<-)FL )?GABUC]6O M=+9$E&>R$+?$DR7$7SM1Z. RNRMWIY"4&)%X\ @&'UJCTF?1\_?:2*@F^(I9'8LPS7IC=$!5L?9R,9)MM%^K MH:EG5+^&F"L7_#V!SB7M@TL*0A .N6XB.#(9V1L)%[JFU. M]\M(M_E);A67(DH&Z&UG7)\,8$NFLTE9JF0"IZ;;K<#V3O*:XG[R^%Y&5@T2 M_6<'U9O!E>_U)\#*LGOXZ=.[UZ'KCZ:W]_1,2B^XY^G"HED_+6T]JC1)[#M$=4J2K^S00!II,"#DNCR30:WPQ$.!J6_Q:S M>)9W>&]R \G:IS*_0E*92R&\!:O1$3:)!>(]B;3Z/)HZR/>(:EM098/4\R7V MUKFK.^C'V?+.N HQ6YD1\#OX>4G/3 M2FV0 3]G*9^'@Z^]XF^XR\-^'@RG%N1AT9:[/ BA-.WM]<\/^V%0;H;'ZUUEF>?&J\=6]2G>_\S;Y\5EV(O-D M)!!TR$!X-'I<5@F)J8@6 9>7="<_M"'(/6#K3NFQ8CW $V_A'=G=S$9[,\"S MY(Q$ZQ*:U:"42""B<&!L"*"9]%9DD[6JG8G1'=T>4*VQ2AJ4&=3=PF\+@<^X M-)&:C(MQQJ((E0$7F8?$T-\+W.L4-Q"+J;&4_:;EQI7=H/CA0XDFI*,O$].A M?_ZA3)XL11E'N=1Y#5W +5HF1Z)R0$,IV>)*@2LUQ5$%@<:SX=[4MB:?1[5' MS*JL@MIE!O/@G?SW-3K][P>#DFT[^0ZZ_DP%XE2YYXZ\S' D8*2PX!DM:0TV MT60Z660='[@'#&@FWXJ9^M.KC7[_VEU.@,QBDF?.$QLE6FY63UJ3) %&6/2L M\9L!33CE0[<>(',^?%]TNZ[<%N>F5WR99X&\^S S=\IPJH':4I1'O47'T6;P M(KOB2\87%NXM.Y>;YEE'*KA<]$"JE$FA/9R\)""8%6&(8+HT)IKU* M@M6>-_[2BQZ64G_'HH=EU+"5'/8N '\6/2RMRJ63V5?1PU8(HZWSK+PE/G%\ M2Q3QX R^D2PQ(8DQ4:G:E<'%B07*7;RH%Y"T<-2DG\R:W(9L35(>?O;8!#_[%U>GCEM"!.<@R[]/013 M OTRQD%)1CCU4B96VPB=/7LG%%S'S%Q)G)M)AEWY#O.P/W;]\][M+Q^-+]+P M],+U;Q?+N6.19 FNI ^+$)##(B=PVC.#:@]<;N &I]T"]XB@NTN,A@9,C<6^ M<:.+FP:T7]WE))[%C22N=/[04I>15EZ#(8:#MT(9R606O';SJ[8K^LGS%JK? M3.+GZJN['@Y+EYG);_[H@S,ZD]0+JA0!IO <$S%9/,+01N&1^61?2>600F2^T]IW@"E4),9[(6)$JA\B[3^/&*?O*Y MA>HWDTFZ\NH6#GDXBS%%E#<#PPDN,B7T_#?KA[CM]%I5()$R'#Z!#P1T!SY) %7!&%&K'I VD6]==U$^6 M-R) @\38!J?5W1],LX-'G]WWR>TJOK29Q!# T3*>Q7$'SFH..7ATHRWALED) M[$86^)/Y&R!&[NZ_Q!NW':ZYW-@GEU'V[NT*>N"0:_1 O2L3?&0762@89#32? M$YIP#QOF[-3./G]5>\#W':5 ]8SOEL6;-A 7-1Y)07@.PGH*CD@+BGL1M$!# MS7<;G?2*BG!W86M>1X^+\]!W8QM^?.Q,PT,F44,I36!DH*634NG\D!40$UW( M0C'M6S62;[BL/6#WKI)@#M&W=4TY2Q^8N]9/:7RF-;H#04A<#2]F%+H*3GH! M*5GJ:=;N!.B'?1/$/<\%3 MIRP>P:5CBT/?W[!@2SJDXF@["]F"*AI6@RV(RZ&J11 M/@'U!]!/[FJ6'-\%;J,RHB6A;J>HJ)GJNU.LFMYV@&YE@KOPTI7V(.C.4[1< M#1<>4K9$),VCSK73<'>"9L^4).TJRY915P-VO;D>C0=7:3CIK%7V]8O>E]%- M+0Z51-C 1!GE6+K9^PC6,@->R&PB853JVH7H3\#9RCC,=JH"XE\)(TH%&7CMAKF=@.TW;>KK M9D.%LV6;I=13IHN]R'5&6%&5'BMH-!+-"%'>,[6!Z9ZOQL2NH8:&Q1N+JTN[ M /Q9A[^T*I>NKUY%#UNIPZ=!.$$R;J;:,A#!$;!9E_DK/(0D4C"T50'FRZC# M;\R3)<3?O Z?V>2\IQQD+".9E(W@@E,EH\H;EUT0_$$A]PNNPU]*\D_6X2\C MM@8VYV'_1J!=/3;NE#": 54&X7J5P$2:$;,**G'.[<-VA&N_\4M"?!4F1DNU M-2BF>P;N_*A0!\B-C)$5X&['/&E*@^4H5TV'#0R95:"CQZ]H9 0D;N;H+-H$ MZ#QJ"$01*QW13M7N2[(SM'O&V-EUUBVCN@9L.QVZF J<651 )29EHA$"DQ0M M!H<;?78:,A5*29>>?A^E?'WYH9=+.SX22J<$<&[2\"D;,"D:0)$Q$XG,,M2^.U@' M[QY1:V-J:VH1/?EJG D4BV,^ W9L\ MT\_#P?LR<.?.W)TZJ:9/?'#-;-.N^#>1<&JD];1P)DQ:"7B'.WY0%!))B@=5 MIFBUZMJV$PFG3@2AI76@!'$@.%%X]A$!RFNE<[:)F-H)MR\RX709GJR=<+J, M4G8EX73170ONPL$YB3MS=&7,!Q> YV09XJX=SX8913;P@KVH$/12ZN]XR[V, M&K9R:=D%X,];[J55N?3MY2IZV,YX A2O)/ MWG(O([:&;T4CD0MH&9 M$@]A[00MZABGM96P89Y\2N/)B-GT83 :G0F/+CHU:"]IFT$0%L '2X!RJ446 MDF8E-LB6>^!>"6=65\AFK(@9SG=NV._UST>?T_#DP@W3V][E]3C%,Y^8##SC M=DJY!A$9[JZ:HIBD,YSGJ/$I[2GT#,K]YE)-%2V,N%8,S7T^/OK\[OCT'P>? MWK[[K]\//W]\]^ETC8#<4Q^W=ABN,]9*P;>%33Q_L"?SY,L%,V0N4)U4:S#6 M,?1YI6/*,*%%[>2UYU'5"\0M?-;4V6>"&>$%VN8\TM)DP8.-3H%6+L60I2&A M7<7WT]@V%7BKS)'%X;>*JMB5L-O")?WV_10_8N((&I$5Y;A5NM+<2)0^7!X- M.E#6X^:90XYT8R_8#UC;#\?5I,.@K5H:V$:+5X\?<.-J=H'8*"C7 =YVPG+5 M5=N5.FOJ94L4HH(YQTP"+4J,P0L"-G$.3)#?1**X3L?AX8)Z6/,-2N&%H0*_#4MP27-/9"Q]*K3D()+EX).RH+(L8WX2 M(ZYVDN73B':(''532_3E,DW$WH\'5X/A MN/<_[B:LM&">"!..>4LD.,$5",L]&"HI&*.%-3;A65S[Y*F%?>\HMQ6E;G+O MFG2Q9"Q8A@XEB]*"R,& 920 44DQK9*G?F,>^5;ZCFYKWUI6^ T:/MQE]5E@ M)C*")ZI/I6S9AM(G/5%(7B89HKWAY].#S[][?"W#^\.3D[>G9[,@E*#/.N N\8%PDK/6?MF8?W55;IRF#WC M!Z,"0S-%EY==I@2",8E$T&@C>Q.339;HZI[E(Q#U+A1F'SV-4GHEHK&:@HT4 MCSD><%F<),B,9\:$DE;7OO)> &53UP7KZ7?Q[<#J+:T-/,4IY%E(Q*R#)4B45;0;'7 := M@O>4E+AS[8#)!E3^3-1]4QI?1KBU$V+Q( GCX:#?"Z=HD]T$[Y+'[2O:")/B M?<%]1@>8FA(4C,*CKQ.X>\C5)V4NO"1[Q8A=816H/0S/&.& M*$L2!19-20VA$HSV#F*644G"#:W>.V;V[,UKM:Z_M9(,%^ZYFXG.5!SLL\)3 M6D9F-CGXYXF.'#^HY:CGF@<-@28\B0/)X"6SP+C-7EGG9:P=&>^"JU[TYHFG M3=U0;A.NE&>(ECL0G@JPKF141R4$-5I07GMOZ8YN4S&>ZEQ9'/:IJI!=B00M M,^XAJ.A"1(-(Z)).3T,H87(+.9$0-94\LC;MKEY(X]"Z!%EC\,\RBMJ!22Q= MX/X<_-- ]6N.9%E%;SM MU)-AIZ%09P!W0U2,B=+[ZYLHRY=@6)6M1--=X)F M%0?_;))ERZAKPX-_0A1!L)#1P2S]-RPK_3<<.BK>*I&X[ %X# M!U:1=>UFB[.MZC<7_HE5Q-E@),*;P=67ZW$:G@SR^$\W3 ]$,+LNHL+FY#(043JP6"/!643* M.1I*W#*O=>T> 9V [2=;VNGF,8%$]3;S(=ED N,05;&II:1@ [&@K9.1*^H] MK3WE;?MMYC=)B[4D_I@!R(541:&!J'0RDVY3!E*"J2Q,6N?A?"UO8T7 M-[NG:0BNI<(:7$*N,L*A"^2?4WL:TJ#"_)15=+@C4WN2M91:CF:Z+IF57A,P MH;134%;Z[+FFMG:.\L[0KO+4GDVS;AG5M9K:<^6&_YP=[E)8-XD)*8]>H# $ M'4#F(OXU.1V45(15G[/\ ,/+F-JSE.+FF52K2KW9U)ZY:Y\6H@;/;:;6 )7> MH_T8.7@:"4B7C0A<^IAKVU#/8=HIH[O.G7E5-6R6)G>J2N]6CYY)0R271 &/ MOH0;7 *?F0:K ^ZR41%9O=O?\BA?%Y5JJ&JSUY&EJ-1Q;@7B &=*2EPJR8XT M)R A,Y6D4U'4-G&>1O2Z2+.L"C;OE[W[%BZO8Z]__B,!DDMNLDK@@Y6^1CC,+Z1)TMC8-\*H8]Q]W3.R#,"J.2 MM^9AC5!UVLS#]0I(L[8Z%H:N*^;$OS\X//[[P8??WWU\=W#R^_&[TBWXY),; M#M$D^YK62(/O]L%K9[ZO@+]6LKOK#?_N+J]G1FT_?N@YW[O$)92+"C>Z'J9X MU#].X7HX1 K@+WP:](>SO_[F1KU1^?<3VW>2_]#[[^MTAXO2668U0QN'.W3) M<:L!FY0"Z7D.B1.>3?5$^<9K6MM$;X-O>L,@!+/9"04D&8.O)O-@3*"0F4Q> M$:%"K)Y>V' ]&TODWZ7WX)%#L2N$V96R@46CA+3.R3F60*5HRXQ3#MY'#TQ( MK@-%WTK6OL3>L2%NNT.5C@/?EE'95N9W=0'X<^#;TJI<>I#7*GK8"F%B"EHY M*8 ')4!$'LN@90J:6L)2C(KJVB?PRQKXUI8GRXB_^L"W$*Y+(7B8I?AXGC@3 M JA*N-)RKV6$T;AU"G2K131.=VMM\>"#=V*NSCIR'U026H/;F3=HLN!)B%8* M?C7JX8=.SL([O<^9\\IYQH%GQ9"_*H#75@)CR@NO'7ZW=E[]LZ!^VAN/LC!K MJK%!''X!P#O=LKL ;&1Y/ MN.Y9'9:5VH\R:&FE1%/8L4&L3"]1'"*GT)F4J MX6:L#206N3/)P+=9YKG[ #S%E&'1MBS.AV>YY- M"LK"\UB*M[B2(&34X)-P8(DR*N+/7+LS[@E<6T@DJ*W0#H192QL-C*)94.O- MX,KW^I.#>H&E># <.OSN=!'EJZ-\=#TNX\,G9WSZS][YQ5GRAE.&1B,)BI?J M0 &.$0E2J,BBD-FZVMM1W15LD86[>.VZ17K4;MZ[VE(.8ISHWUW>>#GHW?0& M9;!Y,$(27UPD=)8$56!2(J 4,S3P4AG/.SF,56']9.\NZ+MV$.,C:O'J^NK@ M:G#='Q^GR95#?#\8'O:_#GHAE2,EE6RX,ZXS]]E;D!J/$3RL##B*OCP7*JF, M_GM0OA,INS[Q)]\::ZE!T+W[>S&3[/P[B![F &YX==2H^]Z;9!B E"6HC, MH8\IO0.7*+J7,@EJ?4K)UJX:J ;^)26^KL;=%EFNR^M]UU-:O7$R1:6!FF(P M!<; EVLD;I0(A @M6>W*WSU,:5V!%QWS5Y?1SU;2$;L _)F_NK0JE\Y+7$4/ MVR$,U8Q+(H'DTI=,2 F.:0Z^]+,UPB<=:Y^:+RM_M3%/EA!_Z_S5*(D0A%#@ M%-TPH;G"E6H*6O.8"..&A/B<'_%2\E>7DOM3^:O+"*UMIL?ME__90V=W&"Z^ M?TA?T^6$Q%388'/BD Q!2TUQ/ :IEP4O#0GIG*I'-;HA>]UF1@/M-0BCS;W< M>XSWYLWJ G:#F1X+@6X]YZ.:QKO#SH$[$3@8*S@(EB-8QNVD M"8_6TB?Z\*3:!VYU3PK9$6HMH:66E#KL?[D>CR82H+/\3,T3"\D!TZIDY.4 M3LD,(5@K2*!&2M^*0(_A[$8^2"5%+J+,FEIH:3O=@<9NH&69N2(B03 )WPVJ M,BX^"TC.&)=RI,*'#1"$O4Z"K**%#>T@_,=PYHQ;J<,C7Z#=GTM']R0$$.Y" M9"2S^F5A3\!Y;01910L-+..W:=C[.NG:F"K9$[ M]12N[7A/];2XD!Z55-#@-'H2(V.1>[2GT*H7#D3,%JP+ 8)SW&F6@K"UCZ/- MT^,9!V@[[%A&\DTZWX_3,(W&QVZ<3OYT7V:YUE'R2)5%!P^AB2CPP-7H[_F0 MH\J<.F]JMZ68CV3SEDD];3UNEK>NJ!MX,3^6.SU@SXSB/.HH@643\)AD$AU\ M1<&5LD9+2?*Y=D;)0PPO,SWM0Y7$AK7TL=6RA]O'HG],HB8G4.!5J,VEUM*^93M$:99:)TY%N"?'-V$IA/?OO^/)1I)"<[:?"U11O(H+4L?+#@M&:@9$Q4 M*T%-J"VM2M WE:C;FH,/=^=M:'97DG'O7)S^,(]N9YL%+14UIDR9*K>D@F8T MD!*'X'D(RCIN7,,^*8\!;7_NY089LCA?9DU-M;PM>MK"FIA4O_<'?I2&7XM$ M)M<:^&,T=O!?W32LNK^\685^AP6V3JUIM;BMI^.L2ZA%5-TI-KQ(VC,NK8S2 M0HZ\=#(A"8P4H521YB"\B5(TVX%?%MV[9PB].+8O0X+:B=+/NR.S4+#2UB?O M@2I7^LJ5GCN9!S#4"A=X\B2%YURYI9ZXQ8#";FAZT%I-+?..UA?A&W<9RE1" M_/)X<'GY?C#\TPWCF?;E'99EZ)Q"&TMR"9[*8F.I:%D0&4VOW=TQYR]J)ZH( MFOI@N\6+EL2_DS/T1V]\\6@QH_NK&1T_B$?>[!J3SSKCEN(F(3+04-)"N#5@ MM),0B52>DDQ].P>MYD)>]%Y>@W =DHTWRY8-Y;EW6=2"-9VD\7@:#1F=N;*BZ:(V5_0UU_6$P&AWV MRQC#,C?QG1OV\==&:/81%C.+H&,9-9%-Z6VH'01A:+;>V*"K3T/>U.)^OB\O M@54;:KY<=:%'XXLT?#.X^C),%R7.4++K2J_#,R*9M]1(D*9C,8C==)D5CT46NG-W3"6"DUX4,:C5*:/.MM M&H5A[\O]\ ,G3&0A&-IR)(#0BH)1S$%D-@2NE,B^=LW),Y#6?>'F?_ST*I$2 M'@P7"8@E:+DJ*<&0R, XQ5E,E!%;.S_Q"3B;2@VHR8&'^WHM:6_[:G\T')]- M6C/?M'#11B=7"H>D0Y_?6W""Q,F@.>$]XA>=#'_\U#L]!V[KBKZ: M]@;K2K%BY.06Q$WPO@N,92[!NRBU_F7+\U?4:PC_H?K6D%Q#1:H@A.>6 O<. M&>EX NO1A:)2!H](M7&=+BFVK< %EZ[U];>,P"KK[:;C\PT0HH,(@2KPR:$- MCL\&KX*!S*.-@1F?:*>(^S.:N_?0S7E@:XE]4$-F%:]>)D#=70WEW'_H"E;>RS!I<&AQ]F=PS]L]OG8PSH0,3 M1*HB= (BH!OO*7= "26(S!'':P?['Z/8?%2DI>V[II0;W)>>7 R&X],TO/J! M*(MH0E8)G'9TRF!5%[4C!8Q3[I?@^#8]3D<_L;P7E MF: B""4BN-)V4%##P>H4P"0B,F+3CXJ>%B09/?>D_5!S?:$VN 2[C^^/U#N_ M&*=X\!6_>SX'+CVCSJJLT9.SKMPZL.S0L(@.@G&2>$958*SI_O\\QOV@ST8T MU.!>Z$F\;WNC,)G=XL;I, M+8OQ%3%J70TMO/JH'IS_Y(;#2;G[VK'Y1Y]4*33_-,(-1>:I9 M7X8#RT3FEY'VMB/S3R373@-E+#(F(@?)T?X6R7/P'F44B8B>N*ALLY+^'9F M44W376=:+"'Q[8PHZ #PYTR+I56Y_*R"%?2P%<)$&JPUV0))5B)0&A"HSR!) MB)X:3TRW^[[=)\JJ,RV:\F09\5>?:7&9W=4D4>4F=&N\C$H%49Y>YC,DACNF MI8!K5#E%;V+J%BUY^,D[48^RCN0'M<36(/)Y$XJ;MF^[=I?%I9XP-P>JO&42 MO)@F*WLP'A?,\$!DD@9M<^W.$8NP[)M]4$7F#6)C\W#=\+T+LD:6P6)4VS$) MZFBO R76$'T#8^ )A#9+Z9C5D'C)%+61XF;()<3,I%+*,D)J3[;:-"F>.?XW MS8EE)%[[X/_##=/%X'J4#OKQ*.=>2"=?7)A= PNN8RH5OY:'LB_RTGZ1X3,)_=]VDAFQ(B1I;0ERF31 1A!JR,&C1WF4AI;0R^D]H7/&"/U%Q# MA$V:68?A=+'3_Q[V[S/Q[O1VPDF*"6B,Z.EP4?I!Q@@FG2^???;Z='U>#1V_3A!.QZGX6B0WPQ3[(W7N*[J]L%KWUZM@+_2 M9=;;Y,<_>NC_X%%DQN'&D,$XGTL^E,7#/PA(@AA.,Q,QUQ]I,A?*^EW3[W[L M38J\IW0;T(SR#KB3:H]8.,QBFV%G-;6 MZZ"J?!M8'O<1W;A073 U"B_-P[.=P-*ZNGI2]6L(>E,D()Z::(T"&:E#/UH3 MY'GFX'P,4J,3[$/M3.O-*?^9 -(F=+^,?)L$$(M5=71C5-T$.9P)-N'_@4]: ME2KLXA!%!CD1XB)/!+^H'CI\C&/SCL3Z&GH4+5Q3O$TFYMP]S2:LYI1&BR<: M!%8&^118OK@N92!0=+H,PJB==?(8Q;Z<[FO*M\FQ)"JPI\":S]!;@(\I$EZV$++B9=O/QAB8(Q!EF+>.:UA^>M4DB M/#M#;S,\6$;.M:^*/HX_N.MANIS-D'7:Q2@Y1*\UKL_DTA&' O5&&6IS4.R! M@;<@;'S_<[YER[C[3U4IJZT5XW&)A!&>K :UT2, MLCH0J31UW;1V_X/W0FUKR*J%B=WKIYD%.#,M#XM4)PE';]T8G3M+>>99E3!3 MHKA63XN-J2$[PWWR.@E?VP#K &O;9*@3E:LM_Q;Y7G,@OOOVI3>\ U%IP=!- MT C1EM&=:)+B.62!9B.<=-Q873L\VP'6_E)D'?FWRO1YB,E%IHQ2980,*R>2 M*GD).B F1ZE(*6A:O]_58QQ[0H)U)=PD^6]RZ37CYIWKL(.K4A]WQH05H62F M)B-PP=)$,,$RH.BW2F5+-__:%\'/8=H7-E24_,("U\K7O36*$>=^3I7+W(T4 M(B[B F[?W%J'AB1ZWR^BXR]WM,E+=E;O;.1$,*[QG7A(4"ZY%>%/: MN+!06LA:8JAS\F%BV)Y'=Y?2Z_/1W67DN\E@7A=DKE NX%)+VG)@&8AGD@HO0NQ8WK'X&?N@V$H2 MK/W&/K!F!_US=#ROWO>^E4$ ^"7Z4:4-3OFU&0TUNJZ44B QE$$U*8%'F*"4 MD#[BW^7#[H<+]+WTH_>!!FWE73$(- ?MI%E?@?MW-^Q-9Q3,11R9-C$2#XEJ M5_BL\%BS%I31.1HBN73=KH=6>OS^L:2%W!MT/9L7QYZ8.;B[\80N,,AH=&E_ MSL%P&T'BB>4SB5JSZH'B!5CVQ1&L(NL6(>,YN#Z4@V]X\TITP=>J:OP9;%NJ M':^BR0[T6%L-&[J=OH42!73-(*/V8"0$6T@DC4JCVKO \)\2(-%"2=W M/G4+I8)5!3ZH(:T6^00W1FTY\T[QWTQX2G+@ACH.>+:A%:NC F>)+!=67LK, M#5'5$PCFX-B;\W]=&;>P_QY@FF52=4#5ZL2?BVA+Y_S:&GN& FN(N\7)/A^= MTSFK25>LF$KS$RG!$<> AJ1DDI1Z7?T\WR )GCO%-\2!9:1<^]PN75 ^#<:S MEB7HX-&."M+33R7W_<[=P=E<0]:".G!JS/HCP:7O>C&*;[KCR>3[:==*1U%LY5[Y%TJVV JN(LW\5(-C_:MXZFGE']&F+> MP$M_@\X(D;4A!))PY?H ]S;#90)C"7JUBDBJ.V7G[ICRGQ@+O$G=+R/=YLWX MH]5&.>.!,"]Q?=& C[A<&P.E/G,EXP-_?N>:\=<4]Y,=^)>150.C;-'H"(>V MA_8!+<3$0AEK1_!D$AK]D92C)$0%4[NK]H[-YZD=EZDAZ<<$4.W'K'0!^',N MS]*J7'K>RBIZV,I<'F9IIHZ4UB%E&/>D02SQ!!@S@@5\=5*L7:3ULN;RM.7) M,N)O;@J$4H^FF "J2LPA\E)-+G/I*D(#YR(SV2T7_R7,Y5E*\D]:!IG_YTEY_3L#>(9]YY0EFBH$,H3>*"!$L%QR5RXK(P@4O529]//67; M>;4?UJJTK"O$C7?AN,'(K6/1.@M,JPC"Z S64078A $_W"Q=* 2")1HZ?'D MVL!^L0C??C"EF48:Y.C=7__O_>M1BH] WA!=YDB\HPIL*3<222'1M47K1R), MZ6)DL7:NUA+P]H,[K?31(&'D+LW/9*)9.8(T=AH7S@S2.. QF(WVF9ID\3\- M-Y;]4/[*$JUX2;0@L):&5V>6T<@I]:!I:6"$.- A)@R]G^AY%I0SUW@D!Z+8 M#TVO*=V*$<8YY86XO0S'O?^Y:^7*S$ATZ"Z[@,L46B?PU)=*0J*H,]1&^Z"Q M5Z<*SL=/>MGJK2_,QYK6%35]MV[TL/_N*W[K*+^=!B?//'%&&\Z *3W)2HA@ M;2*EN5C*02I).@:%NC]S[[1?3<"/>6 J\N#- )&Y?H'9&^ )=.=*[?UUZ5(P M27(>W+MJ\[UQ=&?\>@S:CF M,;UL WI-NAJ\N7##\U2^-73G:;*LLRRS-B6(8F0I>0@!Q10415LGDFP"_MAV MBUM:.1GX>#D%(E'XY&UZX?T*&Y!['TG;#91C#4(P-9 M.?2(*,5.$B'R**BL'8%Z'M5^4*&R].<0I/+LE[O6T;N<4RCM6-%(#O@SW++. M!#!@18B]/&N(I[+6W$=O1F97!:IX4.GEJTM M$Z2FW.?P0C<9HO#^>GP]3!\=_CDYZ ;Y;N.!-20LQ" IBNJ.W+TF(.)7*J(OI1JZEW<0FDQ@T'3*&6V :PKO1_+_F8XRV"E M-]Y;M-)CVS;[.SQD==YG!L(Q4MSV#XE'8@U!)F&[#5W9,^:N4=S;0_3+2;5_3P='S%:4OB2IM2@3N M:+A@!CD099.Q-O!N+3)WMKQS*7$_7)1\])%@JD,CM, BE%+GSPYO3DC\/3 M_WSS^\GIT<=WQR=O>R-W?CY,YQ,'8I"/T]?4ORXWT"N'XM=^YMH1^KJKKA6X MO_?,H]DS?Y P,H\6,AHOGI4.#2%RY [^$;V1,2B6\,_:,>YG,*T=RI__^=-( M)0TI(VLB<";1357>HK/ ,Z1L;;(\H]-0>[SZ4W@V%MROR8-'4?Y: M^%NY1 M>@[2*@4B*PDV) EEIG"I'J0Q=#H==DOG3X3V-Z+R9:1:.Z;_KA]_'Z7A39": M)R9R"KBVR WZ03*"2QX=;4.],DPDSMESEN;CC]UL-+^2G =5A%2[)=-1NBKY M1.?#\DNC@W[$HV@\[/EK_.L-/">4(&BJ G9^^+[I<762UW\^3=-4+@WY9YV!XLV 4:"'; Z9IRZ677$#TNLQ6811LY XH M?EL8Z81\.,)D@6([/_+%:[N-<"M:8Q.4?^_%-#B\XN\P8B8X]CTZ!):XT M840R>J(3$I0F&REW*KM.NG[\V2]>J6N*J^*=Z@3.^\OOTU/!)USD83_TT-GH MC0O'TO"67IJC[Q (Z'(CB&Z[ ,N-AN!R#LPQ[4RWX11=GO;B-5Q=I!7;!<[/ MN*2<:FV%!2%MR7NS%'PQ"K1 ,@KN#7J,+R [M8$NUQ)5Q4: -^?!U,SOQZ,Q M&@(/S@#GD)L,%GDW7_C M1O'])(6;=)S?OA_B\3\:#Z?#+G%K0-HQ#=Z5\FK.(GB?D(N>9RZ#HH+6;B/] M-**]B7,U4$"#[*>'Z&;89G9$!W2-ILX\C6P[(V=JZO(9FE101(/TWF=0VL2H M+:5VDGA7CC*'9BVQ9!GY-_7;/[KA/]-L_*GF M-.C)21:,JO]O=)"&@]$7%V:02"*"*I*!"5Y&)>D""6U3Y[6@$OW()'(G-<[__/U19@7Y MU0Z2W2RMYR[O;1-1,JV#-T U+4U.,IXNA*+1:FUVN'XN5#?'>_[G[X]**\BO M=N3L0R^GD]!+?71*9PQ3E@G-#;A(T%@@(H&WC (/PCLN/=6ZXZ2O1Y^]/ZI< M4VZU@V$W"YPMJPR,UXJ5,]N6.6/9XK*2AAB==\PHZ4@W%=[_W/U1WQKRJAT/ MFP1P/J(/U9MN"C,Z):-MHH8"T]:@I2X(&!(LLDN$H$60)G2[0USP@/U19@T) M-@B#W81S2NO<-X/^>.C"^(_>^&*6RW;8#Y?7L=<_+UTI\7_QU'T[8]$*0=%6 M,PR!"NTX>),$9(_G>]#!V8[ HPMU SUK)>H[6B%KI&FZPQ^^2&9,Z4\ #K,OIPB$CQ%-EJD8^**)_IPLW[996/! MZ)^_??\-#>:+*SRE)V%)):V),N!2,GH_0G$'1CH'A"816,S! MD=H-!9_#M)-W04LI?]!0"0W"^X_QS=#=W)%VP=?H/N@Y;-NY$:JKT6?I4D$= MVZ -0?^!^!1!>R9!&.MAVHB7!,^S+TY%[8['VZ'+,S=#VV7+,EIHP)(3=UFZ M@4RVTD^W\3:?3?3:X78J2U2WOR8P7D-EL=* MHF_0W.D1M )L]@IT@+8I>^,'K)TQ-593X7/46%/^FS P[D TEADA.0T,A:TC.#*.%U2;S-5:$4Q MB28USPH"T8H8JM'^L5V8L!\-C4-?/"N]%)92M:#2H+:A*/_ M8\ H/4N2Y.AU *XF+7RH!Z<#!2I,\EX$1-S<8+^#9P?OS]>YN*HF^C:T>'2A M/YOQ^?TL4/1'8O8@*8]HFJ#/@G0EZ+C8'&7F95)#?5XL!K1_Q*@D_#8._F)P M-V+X,4;V3+G AA:4=!9Z22TR"K4;NR]',+7Q)WUU+,PH%@Q M'^?D].C-__[MX.3=VS=''S^_^W1R<'IX].GSAX-/-1)QEOCTM3-P5EU)I=2; MDPLW3+^Y48IO!E=?T$)U4U(/7?]\DJ[PV_/+W/>LC7KMJZ]PD>+U)5I]SV(9+0(S]=\S MGM)9XKND2FF_<(Z#2\Q#5,Q&$:-.H79.8C7PFTH,VC!+'UV];479NY)G]/G2 M]8N#,^T<9CF+-$E@P9>#P$1P7EH(N'NF*')VKK9)=_?YVXK ;8D!@TJ::&#? MS;#<1I^?1]/H6N\^DNW84 M=9GK;6HG%FY"R<_U3I*ä(, S?3DF5T=*W3A(J/H MMQG)0%B%'F-&6.@Z9J-3\K[Z^*Q[ %[W\;VZ+AKDZ*PNB!_+Z,>';U&'-36R M EJL9SNVQ!HT>>BW[(J.6^2>MEA;8L8(9SUDPG!MO.0Y:$F 4NFM#M$I4;O; MSYB(G4WJ<60'G%-*JII,H9-:>]<3%V#_NQ][47K]WE M9$\6WNM,R^!.(M''*>NSAA*0QDL78F36=8HT/Y--,_?AK]/RKZ.+RJEVCP"5 M.\#C=#F1Q^BB]^5T\ Z]V/'WFW>C"]2*"7A+PMM\6EX%A3Y%CP;::+V[/ .9 M"!V5#AH\(1P/45_:2' .@7KCE,I.VB;[SC:(\T1NWW9YLXP2JMN_>"CV(FZG M95[X9"K%:0H7_<'EX+QW>UP:XX(I16PJ$ ,BHB"\)A(X9=XQ*Q!H1_.WP],V MFQ[85%>#EH*NW7;RS44OY7??4K@N8=*CG'LA#2???-_KHP75%-(LY(6X:+E4J*Q[]"\!V M-63:X-[[/J@<"(N!:."BW$\)%<%J(X')I)CGZ'TY]_(4_,Q-4S M3#8JW,MPOSOJSX84Z"AH3K2XTH: B%F!E3X R98X&;)E5%?6^A+P-G\EN(8B MNZ4>K*V%!G?#ST,]_7-PVZH[2*.\Q]"IB" %$YFY%'+84(G./'C[ M39C5M-!@AYF >NO&TP2=Z#333N%VR6-I'.<<6!88R#(8WI$@7*K=I>\>@-=M M.:ZNBP;NQ"V8F_>A"YQ&UN,#*%M,P%Q-.8O4O(9D6^X$-[ T$\S%TII"EU)Q M0O$D2X9##(P+_,HPWR0MO+6BNV0L-M'S,@*M?>OQT7TWXXM2DS";?^0<88Y9 MH-'0UA%3[4O0C?M2%FL 1L[:N M)8I%K00>8RY9 0G=&N_ 41X=4TX+U6W XN//?M%:6TM0]=\TA$/U!(^<3=FQ M*DCE!<0L2D^&8'$_04,OH"69$*HCO.O+]NC#7[KFUA!5Q8O"$E,^+B;>9-=/ M)JG(J0#O8LE3]PH\+]%BEY4(DGM#._4Q?R8WZ?:!K]/L75WF%0='W8*X=<>> MAU$QK_'.HS>?L[BB\!^J;PW)5)$\E+ MGH-E%31W[Z&;O;U<6>R#&C*KWHOWVQT@G*/-(I,#[9PI%ZUH=7%B\#AG+GNI M6>"IAO+N/O0%*F]EF6VC:'+1T?_INL"_,1Y&!]?CB\%PTAB,"^IUZ6JI="K] M!W%/,IPPL#H&+54D4H@N)-A$\Z=%B]C!&J;&_8RV2H,F;2BOK@;]2>'>&_>E M-W:74X3':92&7U-\/QB^OQY?#]/A:'1="K7.A(\A:)- &"/Q&"VY'"Q+/%45 ME80AZ%1[PM[2(%\=+]NJL<%^^N[JR^7@>THG"*]W4_[W2'R?!OVO:31.T_K# MT>D UW7WYV\&H_&GP?@?:7RGX2*^+RFE0,%F@:=\T!F=8\X@"2GPC.>>R=K[ M:K/%O#H>[P8M&C0-:;:PSVG8&Y3W^^9;Y??H690D)R,=9.\YZL!'L(ZA(F1D M64G%#>OD'NS"2S!WA3_?C-TA4,6D\J56>W#Y_[=W9;UM)$GZ??]+[.9]O"S@ MZ7'W&NAV&[:Z!_M$1%XV=V320U)&>W[]1I*4K8M2%9E%%25A (-2:YAQ?)D9 M$1G'^HNV+7ZO\U,Y76ZOPOK;5Y_G%[/5Q-'FCY9;4GW]KXOIZMN;V7*UN%@'G]>Y^6>?:1[L&0.C[T'X_F M9X/Y,6.AX1O;-2F'ASD-=_;HV:9GOI]^_+1:_IAV,N&:KC-C I24D;P?IJS0N>/]:*@B MK@:\?@^B;HZ(2491HD4!V4@)RCA37V@U)%LR*BN*"Z<3.+G!W,L6&05L[M@@ MCY>Q P:&3SI;6O1):TO\"\V,I_PXD M'W.&X8>+SY]Q\6U>KK+]^J_Z<9BQAET6''#286]^QS/\D&!L#4,'6+L.*.1U MO(M%2)YG)7QBZF;WL)?AAU>*";)3VBM=DUD=>2FR;DJ1,IT.%CVYO"69YB?R M,QQ^V >EPPT_[*/LL0P_?#.C\RM_6.%J_;V_;M]EUZGX/#/M8HPDR^IBVUH- MA:@@1V+02IM9\[U_#SFG7UG4"Q_S8?0T0)+@#M*V)75=B!NHV/Y>PAZG]+Z9 M&KO!XP ='!TH66?DC!-53GG:';:0)9L-:"%MG5XALVK=L.,1 /) R?[CX*./ MZ ? 14WYH=,5S[_W'V0^R5B3G:4W=)_'0EZY"'2I9Q^$%#8DT3Y[_081Q_=& M&RKI5N+Y(1(>HKE3/C^O+>7IM1LH:C!"V8)TK4IBE5!IM9ON)T(>TI@::^) 3+6MYG' M.=WMRVUIG4AK)09OP1M"MBI9KBO]P-.Q)S3S,N36CTG=*#O)$/DAT9D!%+;3 MG#E.[+M6_VT?HVHJXT:G.%^W7W7B$ G MH[80:BA'N%)BR$$7VZD9P#.-@Y-K:IC)M.?74\!HF#-T/I<''P/LH>2QS\^G1G4G(,J!24*CV%&,BH+62T>)Z"C)D'U=JUN$; MZ<>Z>V'@KFZ3>^GB5.:P=^%IH*#X$/P\8AO;_6!RC('L^^CX5/!KF;7D$_(: M+F2@-"I [ST@RTQJ'5"(U@6ZIX/;+EUYQPO;/JH=LN/(#W?ALD&5<3*G@&"= M5.3BD8'C5$)PG@5C,V<.6Q='[21FA&[XX+K>5>A]D**.-S?B83/Z>W'A%:_T M_73YSY\7.;\AHW-!GNY[7.6),Y@0M8><$@=E(D((M6ELX$QA"%GRHY]^AS(U M0D0/[.Z,"B9CWP3T'-^596C-HO,LI>PTEU[DB@CZ%H#.XB$RZPI(L MHZE+ZDP$O'(19F M0R!]6!Q-=+ [6R][X9&A,L![Z=Z5ZO>Q>)87G_F$6>><8I+N.X% 'PJ@),\F ML2+1^F1R^USGP;AYGMA_?&#L?/,]SN/<-OXY+^_I_[&85A[6#LZF4]NKN**+ M;?5MF#>Z?FL/^51W@!3&\V(GC!%9T!DK4NV?6IN%>26JN9#GY[4 MBYU#F9!E*%+3IC6&'!<5.3"K@Z0+BPRWYO6TS_#%K@]*!WRQZZ'L<;[8,<02 M8RWA120YRDAWC*8K1ZJ,#I&5J%NW4GUJ+W9],'#OBUT?79S*BT<7GEY>['J] MV/6"R3&>/O;1\:G@-V%AF- %DMNIS,1G&$:@B^R%(NIN-;GX^G@MM>+W>A@ MVT>UPZ3J7_41MH] D7DKC.* 0=:9T[:6E@A!GZ(GP2G#;&N\W4G("/WXP75\ M.XO_0 4-\#KQ+B_*?/&Y#KE8"^.R+LDH9!CJ>!5=B]Q";>N5$D)"Y[RQG#'; MN@IP!RDOR&FBI.%/G#](+\OW'_[8$N=LTC(E"VAJ@-5E"SYR(I.+9 ,J:UGK M6H]["7K!44.%#141W\>)?SO?-I6ZW73J8K56V#X.9TMM$I-RY_(COI,(2=U%BXF]9K'7:G64AT MZ=;.'$C6*T;)(7&%(6HI3!Q-[. PWVB46OA'KL-Y M_'9U\V!@29E,_D64I*OH/.FJ)!"8(SKN0R[^]'351P0G=#0^W MNSC(X5>)>910ZK6@6*9;@KM"/Y*"G0H8]0E.A'B0[Q/:>V, _P@W%@00M*9JX2#HNI, S(Z29.)Y))3P]N:^9=]/,Y]/"2&3SAF M]K @E(HA6A& ,^WH5',1@O0>@I895;$EM<\H'POS+YMYG)MY2 R?8O#N8I&7 M#TM!YS8>#+VG&3-\6 ;, M>)6SEB"2J(\0=0J)5A&0SC;/4G(21S,I;C#?^(C5TP_R\.KCQT7^2+2^F:T6 MT]ER&M<$;^ZGNNN8Y%:#R,Z2#5D4."[(D$PY%(5!*#-(1/'XK)[0"=LP?7A=JY&W9<9G^:_5!9Y?)ZE; MS777KSZXI'HO'L93,>U]Y#8SN@5*-6Z]%'0I< ,I.V_H:D=K1I-_]^L(*Z9] M= RQBL]'VE%"06"*0TY8<5T'Y0.6#'=0]ECJ9B^S.A?E[&9 MH%/)P0*S3(!RB9,AKP4$9<@[T=Z[N+1?Q$IU:E[W*>%TK&A74@I$N@JLWO2_"0 O>> M%:^"QH?LZ"X+'=]_.T0)\X$D.*8RG+]/EW%^,5O]3)+;#'M[MYC&?,EAC8], MN)$V*<;(G(ID4R66(6C-0'B26%"<.]>ZZG9(?DXRB'"073L6<(P)^)ODPJVA MMWQUL?HT7TS_G=,DY^RU]!Q8L;S.HR+++3D$3AB-/L6BW&@>(G]>@">&>*PT7'^O!X7C"98+.1>,)S9[KFGN>"@0I&"!/ MQN0"^<%D?30P? M0>E"S7,)E_72S/VAE'W$.KRRLT6-C!Q_0:8CJ&@2N!@,:!4E65=)VN;IR&,+ MES74<1]I'CM<5K25PF4)1M5;L_9!]3PG*#SP*&3D&L-#5O9)A,MZ*:%/N*R/ M!(>(&E2RWBR7%SG]_6(QG7W<9'ANG,"=M"\GF'BA_R6(>3VM4EOPJ(@+;S%E M[AV3S8WZ_4@]R0C 0=;H$51Z/"2N?)"2)N&EMZXK0 M$#)9Z6BE%-CZ&: ;9<\.90,H[%&3^&B3K#E9ORXLW^?SRMMJ7J-]0\0Q.RPW M7#"S+Z_CB6@&GFL_F@Q6KWM\DD5(^/4@E7?.^9!L'DWKL!%&-)6T7EH70!LZ MZ177#KPI!E+(*)(4),OF=_8SC&CV0>EP$;N2%#9 M2')$O("B)696E"[)/V1OGT9$LX\2^D0T^TAPJ#RHM4\Q4=J9B#R#K 7H2DMR M^V1(Y/OE@!Y+Y7$(.WV]^DGZX@?9C/L)?B@(+#?!ITV>WM;5G 234&EKP#F3 M05FCP#OIP' 9E$1GZ<,0B+B+F.<)D(/5O/YR]_^.G,_J[M[\<7EAY MW]<='%_I3&NC^,EZ2,E%7*V#NC_-EZM7LT2_RXNO^0=,F$9ODZ<[0.!Z2"(9 M"\(8B-&$F#0/!EL[35WH:A<#N;;:>J5U^*JNN]RZ/3$Y93V=?*'F!*.@3Q8S M!.,]Y\B

9'37?RCA7':(Z6W9&*MBH92RSB'@%NS/(Z28\5\JZCL&3&14,' MLK40L.A T4L=A) MU.,$+YJJ<#ZD_(\*D$ N8?2,#EY55#7N(GCO:7]8ED-Q4L>43QL8#P0\'@<7 M?<0^ !Y^G^4SDM!97GR>SM8>P=_RC.2]NAQC*)7DSM-]+%(BA]YG!MZ@ !>Y M2$ZKC,WG33U$T_%]IT;JFP\H^P$\Z76OG&M,7])EE1)2&K F"=H)+$&05D/T MDOQ^Y#XU#XCNHN7)8*&%K!N>#\O%:O*^1@;61Y\T0;LD.*!S1$1P#A!C!I.+ MU#;SZ+M5\="W7E$V_?1#T=<6?*I6Y/Y2;=CT]CL1EPCK0$8?R["+DMMOWH?M MOP.$?U-]!TANB#UZ&7MG1JE48^^,US3ER,'5M];,_WU$5ACO?U&DOI\\7E+2$##K:JGNK0U^S:Y.F<\@DLE%(X^^]AI!M0#FKNV MZ/%NSH/$/F\ALX;&T9H0_.L*(29C)"O-01(.0265P2NMZ%Y0.KFDLU6=*N4? M4M[514]0>7O+;*CAZ'??[C5K-&X_\XFS+#!5"G!CJ_6%%D*-57*E*NM!W?\AT\G#N(6G;N_:&>C'[4Z5_C9YN.O#P@E7>?9=H^,>W#VS&?GJ3Q M,0?) !,W0.YS .?)#V,I.DYV>BFZ]:/_V)Z>; S%1Q<@NA*!?,<$SBD%0EN> MM2_6V>9MBD[TZ:D/6@YY>NJCDL=^>JIW]4_SV7)^/DV5C=>S%2DH+]=&=]$Z M\2)E=7[%0U *:X-TU-&*S%VGZ_ !4V?7^J<0%NBEZWECF3=V4NZB:1OK MZD)5PZ#!;DJ.'T-HHZD'5'^ F(\' I$TBSIPL.N )V<&,-./Z"-/Y(3;4CK= MMB-3_CWQAV/JOH]T6R?*_CE->7X^__CM!WTDFJWS)H)%M)$!6=ITQ 7+P&M; MP#/%BPM9R)M&UHXLV?M6.:Z'VTH-\R%DV#!ZL!N$ NX+^58V2_+*@X&BB62O8Q(WLR1WY4#?M\SIJ[>=%(>83KDB5M=) MG1=+,G>7RP\;JW!S6-6^K,R3[2-SG;:72IUIDPVD*!&3SM&DYB/G[R/HJ=IU M[;4QQ.S##2V7:2H=B!DH3>@:(8^3&M1043+>:1.#O+\=.L&B1T^5T^ M8(HBK6,*,GVB6ZH$0.22+C_N?2FUQWOL=-?O7.(1ZASVE_N\N="&-=UNTV:Y M5"$B0M+>$+M$8 AU$J=)6=51?E9U+&"[?Z&356M+ 0[],%7+ZC;'$"]%^DPN MI4<'RDE+SJ47X(TWTD8DNEJWU+N3D*=NIQTN_0'&V=XBZM*&Z$#60);:#I)& MD,Z]G](>@L$!$C_&&;$E+SHZG#*=6I(1_!6=Z."8R/2/#$P(K6E7G#(0^J1O M#XJ#/H(>0/_?2[!SG> ZBY>9&05G5398;$GH-[6(AT@LK8SI]\2.HGACBJFTBZH>V^1NA/\\67^8+@^&Z^N'(.692J>"^)!ELG184 M?MV=4F>OB2 3(N^TS^_^_M-6:"O!W=:E:EN+_0D7'_-RXCP/66H'K&@%2N54 M3Y@$4D:"7K(%U:#YH5LZ1IH+>DA^U<'B/D;>YX?7O_SV^NW9F[<___[^MU=G M;WY_NPU3O<]?*G9G']_,RGSQ>?WR>T#BYU[K')SY>3AWK;JV[E[V!]B\B3'P MDH N=0*;$C) MMHF=?0R22:Q7)#?C *W[+':E#-IGDFJ=>CSRI8" T]$HNZ*.5P5^8NQ#S7),+>BGJ MWJ?F?:0\N.I9D44RY0%],#5H%FJ!D(2,TI-[D)1NWQ!KY,D%[33>1[C-6ZJ> MY[A:S&?3>$;&XV61H&;>VD2&?XF\/I$[0%8R&?[9I82^1/:@S;OSVQ_[[;F7 MM.(;:_P:"S.30,QBK/UU=*_*#Q#P8(58-VC+,NB\GD?),]&6".DA5I 3N"UJES5V&JDS M*J5W*L(:5N=]Y#I$:SXZ%K&>;)=>PV7I4(E::_(;;%#D-PC# 9'5@\T&:Z(S M,;2>H+2#E,8#6>]^?P-[.9UO*+NT0+[2-$H'+VH72%21F M>80B18A91L9UZ]J=G<0\ ?VW$?0@67Y?\^PB_TPB(,97"XRK?TQ7GWZZ6*[F MG_/BS2R>7Z2:!+M4;WTR M[$'FHSD'P[T #*VL04Z8Y:KF4Z\)GY2(0I!C!"S49EJ6<$X_.2C9&);0J]*\ M]N<: 4\0$_L+> A;HB;(?+_K"(\$RVW3GK=Y-9%>29D,>M\N7R5_H\.KYPFEAG!$O$8ZD[:;R'*":Y-7GRO"_UYS^7M[,5CC[. WG MN=Y,*_*A6.(Q"82LG"3J+ *1Y$!(DS7Y3]+&UOE,]U/TA* Q@ J.E>:&1F@G M;(&HO*W]K#4X;2S4;H\&?7#6M'8ZQI'F=@3+\4!QWX: ;F(L_))G=(B=7PY1 M9\YYYR("DY[L%W2)W"O'@!=/OI=UY"H-8B%<)^,) N!08=_6OVD6>/IQ?4V8 M+B);8R"14TTLTC\N>@Y$BK<)XB'5L*_C0O7 MY%ZX2M U)V8BHO;9UC;W\&ZV Y$1@0>7@=?.X]+T4/4%T-%3!;8#X MPP^.RR/L,A(VG5T0D=LS;CY;_BV30/+F[]:E6Z__6BV0UI_.MU7F@-R\J"2U,5Y%;AH/IYJ0':>(#3'HOP[HF<' M!TO_GK\L6W6[]0\1%>$;(W$J^L_0>CL+=X[ M='UPJ'03J5F_!9[-7Z6T%BZ>O\-I>C/[";],5WB^'EP<;LY2?I__=3%=3E?Y M0UY\W4PXGL[3^QSG'S0K2RM:I ML$/S] 0Q.2H8W('S@ZN3MR.^*W>1"*[3V^?I(JZF7R\C40J3ST8X2)$[4$(I M\!(1'/D@L20IHNLTV*0'4!\DZ@DBK:TB[H#*X4'C#1G,^\!C]L!Y%#5A78-# M@FW&:%ED,3O=NJSLR2I]#Y'>H5EUA(K6MWEUY7G[CQF6,CV?KKMN;9^W#QEI M M?US@ET_3B.?K!%/C)*=CW9-3$C*H[ .@HQ]C\):YZ&*;A/N=!)Q2SGTOK<]; M2[]QYO66LZLD;5,/NQ#5,.]^)R''3[QOI*CY4%(^&@2LTMH*84'8.A!16S+A M:G40%CI;N?)1=VN[."[5WY-^?TS-]Q%N0XW'^<5LM?@V^>/#! 6W9)?72959 M$D_,0'!, _>9*>TR!G;?Z.MECO_Y E"KP>H9ULG=CL0Z%C24@_0//G*\J>LST.E.9*L M>,Z,\TY;2)[7@+))0+9)!*>%35R4%&RGX?7/,RO^ &]A:&4]3H>O7^>SC^?3 MKSEM0CCAV[5K<)&Q:32D\VH#Q$+VX_28D9#@HTFR#AMV.H**]51+DH-T+< M2;5O>3S62 C95]HKBT#^%FTX"U'/ M+1+22U&=_.%]I'PT"*!'+:2MXY "^0;DXT$(9+LE&8Q(G(Y:ULG3&I?J]XJ$ MM-=\'^$.$PFQY, K:S+D.D]#"?K'>2:@*&X%V>A%YOL._5.-A/02_.U(2!^I M#1P)24HYQVR$;"P'I37Q5'OBTZ^(N"AES+JQB3C"2,@^^CQ4F@-$0MXM:@[P MZEMMN%Z;;[_^U\7T2V6Y%I/&)!+:3"AC$D&54+UV;4 EZ60,S%K?NEKC/GI& M&MLXQ/YO)OZ^08SMK^L_-?/LO__C_P%02P,$% @ IH('6U;01 #53P$ MI1 - !4 !I;G1T+3(P,C4P-C,P7VQA8BYX;6S4O7MSW#J2+_C__138OA%[ MW1%"'[Y)],[,#5F6SFC7MG0MG=-W]L1&!9X2NTM%#4G)5G_Z!?BH=[$ %$AY M(KI];(E$9O[ 3"2 ?/S+__SQ- >OO*SR8O&O?_+_XOT)\ 4M6+YX^-<__79_ M!;,__<]_^V__[5_^#PC_]\=OG\&G@KX\\44-+DJ.:\[ ][Q^!/4C!W\KRG_D MKQCQ9[O^9 FJ0\CQ@3, M4AK#A&49IGX_BK$"DG!"40>4(^YG$*4<0#B$F<^(1G/,51,^@\7_SC MK^H/@BL.I'B+JOGGO_[IL:Z?__K++]^_?__+#U+._U*4#[\$GA?^TC_]I^[Q M'SO/?P^;IWV$T"_-;Y>/5OF^!^6P_B__^\OG._K(GS#,%U6-%U01J/*_5LT/ M/Q<4UPWJ1_D"!Y]0_X+]8U#]"/H!#/V__*C8G_[MOP'0PE$6<_Z-"Z#^^]NW MZX,DT2_JB5\6_$'-[2TO\X+=U;BL/V/"YY+[9K3Z[9G_ZY^J_.EYSON?/99< M[!]V7I8;HRHND>+23Q27__T0L5].8-\1O_4NKPZ8:\3]ZHK'(4R_.F/W7EH( M/C[#:V1.9KG]H"X7;*IO=TGJ9-;'Y]C59U'4>#[!9[$BL\;R7/W@L_Q;1T8- M-&!,&SJ=Z5YCE?^H^8+QUEIN# UR]J]_DG^;Y8NZGMT]XI)_E%:6711/SWQ1 M-<;[O"SQXH&K%?'CV^J16_RF?G3^'9?LYED]6%W^>.:TD>5W7M5?7YX(+V<) MQ6F:A $,8N'!*,8"HB"-(2$L30(J8I_&LWJI%#.^@+_=]?PW3([,X9\,L*T/ MV(B25\5+2=O557*M/(M6D'_K28*ZD$Y(58,/^0)4BLGJS__RRTK*]YB;^<^/ M^-P([(85V/ "UOD%:PP#\@;6G^N8!@W79Z#C^PRL3YSB_0RTW+_WI+'./6W& M^KDG;X/5_QJ36- --N?*@RW*;8 +.C[ [9*BR$"UJ_"2T&L6C/$(_[+S.9^7 M/1RXI$=FO'OB%UK(7\L]$"XM MPDL%'S!^GEWEB[SFG_-7SJZE:BP>19 $E,C5E'(O"&F&_4AG#;5G8>1%K9VM/0'9X M!9P&+[,EKN4%-LR %3>@9><,&$.I;?%.1V/E)5<2C@8*@2O2X-&-_HNR=;_P M>5WU/VFL7V/Y3F!@$M-V.D"][7(PDIUQNLL?%KG(*99FD-+B95'GBX?;8I[3 MG%?W@_.+BYO?OMY??_T5W-Y\OKZXOKPS,TN: MF.J9(O=(&7K8*_I@Q0#H.0!_*!Y P\3_Y\[DF$GMR,QH$IW4M)@!L6U.#-\V M,R%56<^^*;?J"V_V*8A[R&,M_GTE)X>D[+UKAC&P&U M6:EJB=$BG;_<8?GXHGG"\.?].#6 SK]@D2&BJOK7#:"GM E"&-E*^L M::/\UTH3MT>;1-4.B-#KTJ%?VZVW'U^J?,&K2NY.2+YH5O!OG!923?\IEWPF M)T?J*UY;]/_S)2_EBK]@G^6/\WE>2\V5OY/;;'9;%L^\K-]NYTJ_%^Q2/ONL MYG?F!4G&/5\NT@F3^P=$*"0XD-N)-.;4QYQX839[Y24I=!?L2?@V481U[K7U MH:<,\((!WI,U6]VGF4$]Y^"GFQ4S\]2S#];X/P,K"=H]#NC9/@,]CV>@X?*L MF\Q*Q>E?'HK77^2[G46A;&5(#H\XB=(?%:A7T.,/VKEFGZ6R:#A#6\X>FPAK <54P]LD;&ZT"8SH F-D3!!2[+-Z6&YT_J0,S,@FG" MIV>MW(-B9IGV7":U$'U8,@%Z+@Y;>F/S8R:V(U.C2712LV(&Q+8),7S;UEPP M+@[?27U\^X+_7I07 /Q8;FH;$MR+K6933H3,W,J:A9F!@KV9W9&C/J$QL= M*VAVK8_=,&9FB/%\=KFHI4]TE<]Y%P]':(8(#GP8LTSZ)DF8PHS$$?1IC+/8 M$SXF5,?&[!M\[-C0AAQ0](R""_?B,&P&3I7.3,<-!--6YB$)!@XWY&NMDLJ_ MK'1S[V"3*-Z0&+U6#3YCMW*?,Y:K,TL\5]O*Z\4%?LZEQ]S=3X8>C0/&":0I M#^4ZG09JG4Y@'#.1)2E&2&CID!:UL<\5E[2;'33,%Z C;[8,#R.FM^@ZP\'P MO/$@!."/EK;#Q55+1D=+Z3"M21=.+;&WETF]EZRW\EQ^$_4W7/.[[_BY^U 3 MN3=GE,F].A<,1CYA,!.>#Z7O'1%*XQ#Y1F>1^\F,[FFW1$$IJ8)*DC7>I^_# M1GM??J+$QOOP5EA%$"B*(VCML%#N=MG[B$R]JQX0=,\N>NAI,\UL(M#W'>VU M*_J-:/[1'^_-6"2$EZ5$XH@%C (>P2P1 B(/1<)/4RXWS-J94MID1];+HQN #JL;T?Z@3VH9!RN#-*)1,+/+#7*'G5FB MCS$$@]D[^J--EY)C+.%&GHWYVQ:F]$O]&;^4O'?!LQ1ASI( XI1G;HX]LE'\4O\%M.3DA_M_&ZCW%@(:]LY>+C.C]J7N)#KN MJQP5R\ TV8MG9W^^\6?Y6_4A@WRA2H"TF8F8%"\UD!C,&V[^XLCJ[)=NT+1L MO3*=_=C/ZX:1./"(>:S3/28OE'K8#S@0VLPCKLH(_&JK :7*(EEQ684^'1YTL].FH8.OA3\G&+L)90991RZ86ODY6(9$(]77)YUQ4/4EIH63T_2^ZAJJ>H@ M;S@R+R_B>*+TC,3T\)L9E_VI"!?%HLI9L\>1L-^7>%$)7C:I""WWH&?_K*U. M 5H^E]M3.69]EL9!_ MI4T*8-5D@;ZU?ZX<2\\+(AHQ#R;"5\6;DA!B+P[D9IOY",693T.M+;8M V/? MOPO!::VT\ANGDHGY&SAGQ;,JG: RB98_;,$'YY)1UC"K(G3/7^K'HLS5!O*5 MK^="__J2,U4)T]!B]B:]0-<7?O4W5?=%.]^_E:S?BF_2>RA=: MOY32X+25#&8>\],@)APF82A@)#(",Y9AR*G@84*])(J(BQCO!P/ ,T4Y\8P4_*IHCQ3Y,9U*%/BKNMB(??\%.@?NTA,]R M;W1=\Z=JEO*0X- 7D/HIA1$E A+$(HABGGJ49,0//1/%W:$PLL+V], ?BB)H M2!KJZ2XH>OIYDJAF>FDFI;$Z'I3$D1KNCC^I^AT4;UOM#C]H&P3\]Y>J[I() MYVW9Z7O\XV]Y_?A8S%6>T%51[B^9.8LY"@G%&(8,R14U"2A$7D0@\R@.LS0. M4)#.UDMO:P3'6G.C]64?+3A^K 9M!:J7LE2ELTNY^R=O@#\]SXLWSIO]O^*D M$F^@QC_ O,_5!+ANJCRK94JN6\W)+"1-B5JLT1A[$DXNX[RL M[+NJV7H&>H<2B*($DEVPQB^X(?/\P7'-2P^.O65H2:XK3'6FK)>DG[_F[$4W$>*@[,.6 MQ878AKN$XQ)W 0BNH@X&Q+,+.-@WX'2Q!@/B;(09##UGYY%J(L;_?%VKE;'++=>N'K;\T]O'WT@E07OCZ&O]7@\)A&U(>7]"L!333 MH<.R.&R%R*K_8 MJX5QQ.G1@4;6FH8^6#( >@[.P%51U(NB-@A$/0[*<85RBH>9DAV'PG$5-5R_U2\F; MX!LIXXP$?N!%C,,P4?$N44PAHFD&/1IY$4J2A*=&\8;&'(QL#[H#KK(CWQRD MB(:!)I!0<6 ?2F@.MYY'.RJ(9D:D904TO)PML^L[5+^MH]IR!'J6W'G#UF@X M\I3-Z4_J15O#L^UAVP]D9ZR^\5>^>.%74J*+8M'$8*L3K@OI&19/O%RML@G" M6'@\A#C(Y#8Y]".(*?=4AX68">ZEQ#>R4;J$1S9-WRY_O_SZVR6X^G;S!5S< M?+W_=GYQ?P?^=GW_[^#BM[O[FR^7WPQ;L&A#JF>'Q@#*S/QT' #UV8.>A[91 M=<_%2*U83&5W9&RTR4YJ8TS!V#8MQN];9,U^XJ2^7JB;>[6OO"@D1;RHK_(? MG%U(._; U8]*_,"_J8WFS!#\"34X7K1[[\\!J?$ .F8,Y7,)?J/DM=8M1%\_C&UTE[M)O/ MU%5VL1U@@]G'AD-.EYUL)^M&]K+E$):1&BI8X!.N>7,^B3CV>(1\2"F2CEX6 M"^GH$0^F44(3$?I$X-2H/-OZZ&,?US:]#Q0QJV*HFT#HN6?6XAD>UFI+9AYN ML$\"5P$$&V-/&Q*P3ZR=2_Z]#]FIT8TTI:4Z!B[Y(U]4^2N_7E#I67TNJNHK MKV_$/?XQHW$:4(PY% &E,,(HAC@D 8P3S\KRCD?W[I? MKHY@(A**1(5\1(F7P8AE%&*?J-["//%]$C LM,*O3N1C[//WCJLF);PE#9:, M@37.#'L-6X*N9VLF@-+,_&BCV(2#]4^,48S&$42N6A=;B+(OORB.8^7Y ! TYC$*B:I60%)(H#:'JAA%&<2#3MRVF"&MH.10PJ:N#3D(SF)N"P%*[4>P^% M:57WL(@[:CGPJ&W&]ZM4X*)\^Y175#K?+R4W+%$U,,)XW]N2*%A1':5ZE89T MSO*4#U.:.$/YJ,B[N<8%\B"FB0\C&D<0L1!#%#&2X3!*L=EUKB4?TP2>=-6J7IK. MACTS;3@%Z-EINCK;1Z'8SH/F6C4^NH;K68-=5ZJF90FT/'7%J*JS0: =UJ0Z M$1M7JZ0E%].NI*=!M;/:GCB;"X K\/>;$[G)\RKDQNQ5WC>'@?;DS M8M/=I+O&9^..W?G@I^0_/=7FZ4]/8R\8AS.$SHPZ&.^(.FSR3Y'2T&H?3H$Z M(I]E"M33T*[8) /J:2(U/,3^_ORGIU.WLQ>*&Q6;J.;@6U[]0[J4Z@?X@?NS M)/!\3M, IBAA,"(,01R'\I\\Q%$2\D3N7,W2) X3&UFS-DB#4M(V37H8P$EO M3^E*>C.-VQ1%WDTXT'C'6IFK8IZS9NCM MBK)^2A!G@GC[]C>0.XM_\2)$*E((XB\Q(.1"%.( M4LR@'\=)+/6;^*E9&,7)-:!LO-TG=8/[SW9E*@1@O*VWW\1B+?W"LJT%U!3E M.K'@UDFUM'ZZ,EE?Y0>-JT=P^4-QXW IGZ32U<]0Q,JL/I73TE/+ A_KI[8W MSVK$O@$>2Z62\P@FM(TSX!!1P6'D,P^)+"2)69';@Y1&UO*6E*&F'H9%3UF= M".M87ULV1NCV>U185\5S#M*9MH#.,7%WBN@(7[[>7J\%+!@<+AT47^.DR87DAL=. T*/4 [DJ(1V M9U$'1YWN8.J88!NG5$^)GS<5^W32S63)PM!3B:9!J MNLHC &6F\*=A=$)GK MLOZHXO&>>][6/9E$:HFL?#^$2^Z0YWSAX>R:V6%< ;\A:)-YL(42]-6<)\ M2'TN8(0S# G+?)AD7"14I*%@:/;M4-'E3:2Q(N(C\)($,\01&499" MDGD1C#U,0S^.4^(9[4PT:(Z\BU@C"Y9TK6JRZ>"GI[F.43%392M C!790$1' MFJU#<5)5-X!@6_=-7C6_HI<>9"Z?[/I:-6%Y.:]NRX)^UNR]JCG*F.?<#7'0 M]T#KR3>G_(H'SEY4OK7;1JV&8EM=9NN,/]FUMH&PZQ?<)J]9%@J=-[/$V?[8 MLR[R;Y8$V(LRQ&&09*'ZN0?)_KAI;[R9\[A0,XE=%335(SIMI5,C('9*H)J] M;9&T_YG72N%N1)M3^8TO^'<\;XL%S,(P$P@E"(8$$[E99S$D(DHA]0(L]^\1 M%;Y6#_:CE$:V#QUI=5!.&^)GH&S)@W9[:Y#./0C8L#EP"H.9!5A#X*)#H*/< ME09QA8!!DKHK).P2S^T1,4LCUY%R,#5\<(#ITKUUY-A(X=9ZP<[7.1SLLXPM MI9SZ#$4(>AG","(9@@CY&'I)$N&4A1PGB8F?W.2OK7=T_E(_%F7^ M3\YF/@L1XH& <1)3N?\)/)AY'E.I,FE*$R^S;^>W36MD@] UGJO:QG-M832 ME]2=-.W;@4_/)#@"QMH&7JV&^)K.K&V0AGZJRV9$1([]PK@RO7<&'M: M+W.?6#L.Y=Z'+(_1&Y5LZXG5RT7$2Y,@HD$&D9=Z,,I0"!'# K( ^Y$?!500 MHU8V>ZF,[2^VU !N:/_5\#A\+RR:I]^G"FNF8RVY,]#+.\9*.2B2J]/LO32F M/;P>$G/GK'KP89+[H0R(3&A L700UD MI5;'$ <^A3P3:92EM;6DHWG*/G&,R=&S M*.\%^'O%>B^CN=<8!W+:7!U43X#KJ*5@3N/P)Z@CXP1BO2(T;DC9F?//.2;Y M/*]S7LE]T+[PU\ +49;&D&/E9U&$8:;R;)&TV4GH)6'LQ2;QT\<(&KE573U433UC*E+C PO);> N1P&P=BIH=$5?MMJ:+]G M&7*[IV"S]!.;7(T%6ZO?7&U77$P3)%T>Z;?Y,48P8AZ'. NYZJA%",\"RB.C M&SUK3D;>IVU7.#<,R;7&5\]:3(*:F1G97Q*^8ZHQ+.ML35(.\V247$4 6_,Q M;5SPJ7#M1 N?/.")"05K,R)(M1["-(DR"%413X$*4T@"A. MJ&#,(WYB=)BD0W1LFR59Z--*EY0M/P*\8D@]>#X7N&W3.E+3 MMPWH-<^%V5QZ*"D^*EL MCAV0Z?!<=TT \(<2 70RF!9G'&>^ISF5/WT6W^]@WF(")S^='\;W)SF@/\#D M?ZDS^F&@71_3'Z'FJ-?3Q[>/*C7^*(!Z-M4E+&;6\11$3N\(=4#,L;I" M;9-[W\Y0!X0_VAWJT'OC7-8MHX (B]+$BP)(?=^#41 TY6H03-(P\!D+(IID M)J9 E_#()N'S]?G'Z\_7]]>7=^#\ZR=P=W]S\?_\^\WG3Y??[OIKN\O_]=OU M_7^XO;8SC*X: RT7UWBCQ%V9"CO1S=[[1&>9@F%ZTW=B#!?CN311K[S4_*!W MGA]S;9-DG'Z@!YD?J'@AWVD_/OF7U3>W.](D']5! ?JOYO #9I]%5=:S+_A' M_O3RU!WJTRR+,TPQ##)/=2_"""+/2V$BL,!91'S/TW(E=T8>>8'H:.E9_UVQ MA[7A)&',M*$CX_"*XB#S0_98OK1FB^6_5CJQ.]XD.G%0C%XG#C]@F=G$%[S$ M*D?DG#WEB[QJG+M7WM5YZ#X<@D.19DD($Z("6%'H2WW!&,:"I(3AB'DI,RJ) MKD-U9%WJ>&C\![S!15^_Q;!>NA:2>AZ65I8@%*9(P$P$&8R2R(.D9 S4PH6GS M6XX*O)/DK3 MD*6FY91=@V9;6GD,O#SB(3^6>R]*Y;<691Z%!!-/;L5"X7D\XXAE)O'W[K"R MB+Z7%, %+LLWA=;YD]);IV#I+1CN(#!;-%JZL"&\6TK@#$CB#F/1M(1T%84V M3&S:^#,MP7LCVW7_"^Z-85INJ$[TVZG'E[3[!,@O1#1I,4^KXGG4,J MMX_$]R.(A?0*@R".8K-^.SI$1W835^3 ASFOJJ81BF'0F!9VNN?R;A$Q/9-? M\%5I.] ST%3Z[%%RG3UH(K&S@WD-DA,?RNN#L'L@;_"NI7&0BL'YC?0\L')B M/W,LU:R[!WC[@NN74OZW*9NV2@P)O4B$*6?2%5")-[Z/($D(@@%%Q(]#GZ' M:"-IPK8:7$[6P(G MC4U= ,*;IIMGH.=OU*I\)R#DRB)9<#"M@;*':,=>G3"4H["D>SE.UPZ3$.[Y M,<60^7$B79I$0!)G'**4A1&*./+]X*2(I!6MZ8.1%&W+UJ%#F.G9'4=(F-D7 M:Q!.#S[:%6^LN*,U2N\;%0RK M\'+,.8QB%D$4^ SZ%-/0XYS*7YJH\UXJ(RORBF9;EM),R)TMKIJS; M@HYP(S4HD2/]W$]C4LT<%'-;)X0.^RO^?OTIOY$&ZETWIC$M&KV(#.R.JJJ*[U+=;K2&6$D]X:Z4!Z,QVU$MQXH3PB MEJ.E\A"521?+(Z)N+Y?''K?,L>P:,]R(HYD\U:%4GF:3/ M)YFEA$"<$D#9>Y M,3-7$T^+>3ZD:PA=I4 ZXVO:K$?7<.XD.CHG8&>P[\NFWL=;LV=JVQ1T>VN< M$B;"(( )S@B,:!C C"49%(G( N%1G/E&E7D.4AK9H/9T;4X=#J.C9]BC$\\F1'&%H"KI]CZ+U@KKQRZ?Z]NN6E*,HG%:RX:G6BNUG7 M'&6\SU42!Z\56"._T8;'Z1;>4%BK3U1G_,D^5 -AUS]7D]N+VO7K68O,6 M['.Q>&@B]MHXO>WJJ2@+_$ P#_H(I3!B L$L%3[$6>9S#Y/$IUK75;8,C+R( M]1R=;822+AA07($VR+3ERZ"1K W.P]9B"O3,S,>RH]CS!O2V"\Y?'#7Y/0&>P=Z_-N-. MUQ+X!*DW.@6?,H[=$<"!F*591*CGQ:$'/1PP&,4)A203"?13QH1 !"?8*(;H M )VQM__J)LILUW\($+T]OP,QS:SJX:!#=YO](T(YVNH?HC+I1O^(J-O;_&./ M6^ID_!B,4M5OVI9EGJ>SAC%*:8)3#R2 PS&G#H,TZ3-**!_(F1ID_)_=-4-SJ,0 &W* 5A#PX7-157]N.D<=;)*P MW2,!K,1J\L242R5%.P.=<&!=.G6(T\KGT/2^Q[2X,NB3\C[M,O$>T[*S^+P+ M$^9'7Y*?AV+!OW&JBB:]?7J1@W[*J_]\P?-_R0<6Q,S2SZ:' :G46>@HG5X:05 MP.^\L77>?J_IHA4&DZDAYL72!,P^B+$)0 M,!:*P.,)R;3R^@9HC&QTED3!<^>92'7H?!KZB,L'W=R](9@T3AQ/%][,.JSD M[CVRHW?=VN(:' J>+K;=N=^.^(Y.\8;E&3RH._#J=&=QP[QO'+<=>=3"P.S& MZJQ">=HJY9<_>$GSBM^6.>7?U.]4%2R5N7!?_,ZK^F_2=WN4_^I"U[]QE5>4 M+QXNBD5374>:QGM>/LT2%J8^3@G$D2H[+O^$! <(AAQ1+XPBE@FM;?NT;(]L M!GLN .X"_\N>#]5HIV<$R)&?SIIR>DVBCO0F7J4(!A9CNFG6L+D_Y>29F?&] ML9(K*?KV$JIH0RL):$0!C2Q-*8?E3"IYSL#R0^@S0)8R@36A@)+JIYQV@[7G MIYQ^N^7LI_P,S%;.R6=C<#&>CIOIUO?)$=YP&::G[J[VT6>^D -T">^,D90A MBF# J-SS9 F#"(5R%XJS6%""HS TRBH^1G#DE?_SH3(_+0^6%0..HJAWN.X2 M&[.%]618G-0^VB?KB'6/-LB]>\VC?<+KU#O:^YZ=,?CX4DD"5751/)%\T:S) MJT"Q511,+/S RS($_9A2&*%(5A; /11F=J"G#]88J(S.@27128V &Q+9),'S;JL3! MMYDT*+'Z[F M9P#$\;L2)QB8J;*>^. /Q86C2.RC4MH6.#@PZI05#H8%VRIQ<.1AJQN)IH9V MDX7=10]]X\_MUN)&W,D-=!L"2/'\5SG/]=7+@JG6W%P%!+:A@-O!K#03:>2G M$>0T"F"4I@QF<1; D,IEW1<)RKA65XR1^!O9.C0L-7$<#5.@X0HT;(&>+Z.[ M >?SHW6-\IZHFU[!]+RN%SQ8;Z,[H'><][L#MT^ M;02,XU6'A2Z@7!1ES?&\%ZSY1;D^S=5RFN?--#\TTRR::2X[(5W%F8^' M])';+>=DI[P9&PNSK5NUTY$<=M&[Q:+ZR.7'W(5/ MW>,?O+K\49=8TI#.5/G6I%')U;^Y0BKFDM+#]4(N3;RJ9VD2$DX3 N,TYC * ML@3B,!,PR5C@$2_UN"=,^@2,R*O1PFO>9*"-KP0K,:=1;Q?_DTR.V?J\$?X*E$D *\[!BO5^PKKG&^[/P":WH&?7 MW7'!!)@Z.F,8D]-)#R8F@'S[-&,*DN9-62\E&_7;W2.?-^7J\.)M1FG$"1+2 MBF?_P(^]]6H*@H0@ZDGHV]@ :PV;Q=!G- M+)F1>$8-:P]+8=6U=L]PD[6N/2S*>O_:@:=.R%E:ZQ2@=+4)0*]G& D6"M5< M)<9<72NDTD4*,\@R3 (49BFC1ETZ#Y,:6;W:Y)*Y;3N$ 8CTW \W@IOI7"OS M&M'6)6C).LYS&13-95+*?D+39Y ,"KPWW6/X#1D;1 7MHC'T.N%:S3V500W4V#K8*CU9V)1+W(::GPB?B M8*:[CB XL>[J&(4%]U%XQWJK@\7^AAZUN#"X?^02CK I+';=-"+(7_FMG/=E M+D.:H!A'D&#JP8@@#C$C&$:)P#P0)(RH5NE4'6(CJ["J:J'(=Y7TEPP Q8'! MF? QR#0.Y!T"8:;#@QC8)#L< \/@M-LA*'9'U]_XL_QM8\3J(9Q<'3IK"CQX M@GQLC.F.@S6EV3C;U7W'LH"T.AONCXDEA<=B+E^N+O_S16Y6ENVI>OS#Q$ \P9RS5*S!E1'6*6\O5==F*B_\!6CZL^WSK8:KGO3A' MRM"?<0&2>7%E$Z%=%4[6HCEM4603&'8*'AN]?&(EHSO^T#BVW8)&,X$8IS%D M(HU@Y#,.D<_EWS@F&6NZ1EM4WJ>NT7Y1#]8U.O"XG89>/CW/BS?.[WCYFE-^H/;YO)FX M)O%;Y84_+/)_?JIVV&_\P+A)]X"8."1QQ&.,D@$DSZ M!Q'*<,A"W8"GD?D_,3S("A:W(LQ'1L9+4=V<"PN)[6C(T.];8?')G?R-NT"5X]7\^)[M=Q)Q!DEA*4(_)R!'H6N*_G0+;9Y[N=AP5RE>^ZA,&V&YV$1=Y(Z!QXU3]>Z*.[X MO$DC_]*TEN$&5?+VO3O!;@0OWD!/&'24C8O<[95[6,]0LMGW*E/NQS;PK.S6%L/9-'(K>G? M^/3P9?&<7RPJ5AJE7>]_>V3[T#8NO<^?E!9\^7I[K7((JES*:Y)I?4#PXZOY MZ3*;:?Z0N$XSJX<%L^N\MG_(Z5JN#8JTT6MM^$GK9"_5>Y%_XNU_KQ=-X.0J M6G(MA'(64!YPBCBD..0P8@F"2& ,.0I3PG#,8FRTJ34A/K;&4EJ^R*^UNPFH MFKS,XK0(9B-L]9;[L1 ST_>>"_"AY^//(%^ -OAYQ_?!\P1H6 MVNO4ZD;<\45>E%_P K<71=VM/$)!1IA(8)RF@>JAI[HOA7*[$80)P9F?^)Y6 M):9QV!O[Z$"Q!I8,@XZY,]#^8LET_XNFBURKJAWC\C>@91VL>#- MX?M/D^%QQS@S9%6[V_E4F91[>,\ILZP8/K%R&59U& O0X:(.SJE.6--A+,0V M2SJ,1L7.R=_3]:;O83.+_11[ 4N@_$\((X\1B#&.89I%?N"E4<2]V*0BPP M MHX70O*+"9ANK96&%#W.5R6_FN0\!IN>H.X+!_%S]8".O]7Y<8_?ATI#>D4L^ M1&E2#UQ#Y&V'6^<5\^.R[MC_*W[BNF=D:Z^,[*PJ$OH'8.NB'#_ULI3"3,7Z MFZI!08S.M/:P;760M3[.9*=7>YA?/[+:]VN[)>P;5RF!5%W"+Q[D/WCYRF<^ MH@FA.(&12-2^+\$P(QC#Q \1\H5/<"IFSTUDUUV-RUIO!=M'RN2#VB:H_6U] MY _YHJFV3_!2TX9$ON,5&;R4_55HS^[)!#73DW"W,0\(X6I'WDIAT*1X2T*ZV2A)(/)$!A,69!%)J"JB8W8CODMDY+6[ M);DJCV]Z ;X'%3T-/%56,PW<%G.$3)HA@9Q=1.\A,?%=\V$A=Z^3!YZUC+KN MJCG<"#=1X:L"IYD?8!#-#=32)IIL(UMQEKF4U+--KVE(F6J6# MS0/3QP;4553[:'Q.&Q(_-MP[\?2C$SPQKWDS)JD/.<^2Q$^EYP5#EE(8A0Q# MPI(,2O\+^7+/R+/4R'@/DQO[ZF\W1+]8!M_-FQMZ^_)KPSCJ655WZ)B9QJ$0 MQ OGQ=BTA'2='KV?V/MD20\*?C!9>O@M.^V_PGGY.YZ_\+58A>X0BMTLI.&1 M5"1I:9[RZK=%0=1^3ZV!UXOGEUK9I87J)M78J;4.$2D- Y81Z&&U=PODMBUC M60(C+TD1$2B@9KW?QF!R]" #Y594*LI'E0Y2$H!&A*98&G^54Q&"M=8&??Q? MZQ'JQ %--YUZINN])\G,X*TFY&P=[3ZQ@@$Y"TN>0T6E-E!$0.T;'[&W+ M2CQ-X:T[9<$:JW:]8"]57;[U(7 ARKS$(S#CF8 18M)\I+Z F<1?X)AE02J, M"NH,DAO9;/3$@*0OOV#+3L!'$-.S#.YP,+,(QA"8EZ#1DLQ5)9EA8M,6A-$2 M?*>NB]Y;MO6\!9=;3[;LI;%>-)S7,Q%Y+(DX@13',8P2ZDOMCCQ(8H&([R&> MF"6]'*$WLGKWU)L.0]:'0\TA$%+&32D]1O;',9H6*V=26ZHS#9"&[6[ M.2J45=>;PZ-.UOSFJ&#K/7"./VP;V:=:&:J#@&J[E6CBQ7+IS1",,QK!*,Q\ MB'@:PRPCB)$@3@/?:.D]3&IDQ;PO,9,[RK99:-_$M3E:4U>SZF[LNXII:WJ$ M=E$G*FK;=%D>@%)O178#D)G^KH%ATLO6(O3MF&S. N .$IHX#.Z8P+O!<$?? M.*%\ Z\?"[;Z(DWK-VR^/K+";E8T:$A;U&W8DGA8!QT):Z9\>^0$?SA5/PVQ M3JO;L#7F](4;]@NUMW+#@4Q@NNSP"-.EOFI) MLI'&JO>&G=??FD3Y[OF/O)JE44B32%6)BT*LLGE\B!,58>NQ,"(>EEMR9.+H M;XP^C:L@'P-_*'*&)^6;0.BYZ=;B63D'&I(9.^-[)7#D?V^./:G+O5>L;2][ M_T.VF=V+IH+QW_+Z\>*EJHNG5=/+M_6FLGY$.(T8Q*EJ<^=%,2012J''B!\+ M06A,(Q,%TZ0[U6%VR5_Y0L6^+-HD9[H9&&F:_*V'J9ZNCH"4F1;W#(#OD@/0 ML[ 1$CE&BUI#N9VE@^M1G3@UW B*W31QL]#,BP/BIRR 3##5%%Y0B&E 8!CQA(3;#&Y]GA M"-1U7L_ BMMEXLSM^TZ,P?;KW2;(;KLV\429[>Y&P7)P-^B6XG2[QU&0VMAM MCD/A](X>,X2CB$5R_4(\2J7OC&.8$=79(R!RVXH2A@.MY6S?X",O2(H4<-"P M8\9$''(_03!&OFJ3'5#5%5) DF1>AE.295ED4B7*&@/SLE#WZA6Y0U A7.K8 MZ&G9R:/)EWHI0=/NXVM1&Z:L;@"DMQFP%=ML;=SL83).OQ+'?OO&T._6H>20 M![[W&3O+TENY<_J?+WG5F*[;LK@JRB=\O1#J/YO)*F$08!S&!.*((QC%00RE MN4EAQE(?13@22(0FQL>0_LCV:;]S(!D"#4=@C24SW32%64]]1P3/A?>[%[=1 MRC>!\S,_2"D*?03]T).K?:3J*<=Q!-.$ M>XQ[ H?8:+5OAYUDG<<-*<,C^%9J[*$ L<"#:8P#&-%0^GF4<<@H21,_" 4W M*]%C(;5%9-&I4FO>.!C+8GC5,"R ^?W"!K^N+A;:0:>]4=@09.U-*===95UG@S+VEA@JZ>1(R-FIKY'2M&,&]AW A*N:LA8 M<#!M=1A[B';JOIPPE/,DWO,G=<'WSX:%KMK15_F)W7_G\U?^I5C4C]7,$PF+ M,(L@(]B'$4,1Q#&C,!*8!!["R$NIH^1>#79&MEKRTTR;^M@6TFOZ4ZTQVC>MN%@[+0+Y MXN'N[8D4\QE"E%%,(QAG)(01D4:+T)C )/!"GWBIH*EV2M+&R&/O25I:H"6F MGWBT*?VP93E))C,CH2F.44K17M:MTH@V1YHL=6BO .OI0OL?&+\![96 M>=@TGU4LO4_OV74PWJ'U;$/^I^T\NP[.*8UG-\8Y[;IF[9R]WZ8+'P>9H!B2 M).'J9D9 Y'NJ(###B)0[ 9':SPB]RR7(88$/W7<,O.'RE'/MD.KCV^J1SI TD=IM\9'KA>H3T%B7IF'7 M_2/N#CVJWWE5JXU"&WGR-YX_/,I_G[]*$_7 ?Y7CUY]PS9?5T68XS+* 4Q]B M+*2Y2%,&$0JH=.NS5(@L1#@PRFK^:20;V4ZUW( /^0*P8C['9:7"*4&E9#/L M[_730';28>]//L7V1\@;Y>37SY')&]A[U*Q$/0.ML&!-VJX58RWE!9W 9Z#[ MCN1GU I]!GJQ02@[^'G+]!*?K[SB=>F?V[\F@ M9;83KA[/%TS]1W'VBN>*IZ:%3Z[.:??_OG-$XQ SQI,0>DSX,.*J>7V0$8@2 M1 1%!"7,J,CG*J&B5"GP*VWL$T%HME:=!"_,[!B#0P\ MU6TB1MU,N(#.5=;5*:Q,FXKE +2=_"P78YH9Q*JL9W?\09GD7WGQ4.+GQYSB M>5NG#2"*6* :%(4PPYF 7HH\BCTO"2*M>J2#5$8V8>L$#6N0#H,S M;)>K M;HDD%B(-$0S]3&IBA@)5&=B'*8LB%"./9%RK#LLQ0B,KXZI,IFE%LH/(Z+D' M+N0UT\25J-.LXLI[3-CME?7H\Q:ISI^XR!=J([1H6Z"K@&KY M!7S!/_*GEZ?SQ>(%S[N.5N477-/'?/&P\3 O^X97;1>U68BP0'Z&8!(053E4 M]0-,@AAZ&1$1\0@.(ZUK^G'8&]DT=(P!WA$%=(T9,,^?=/N$CC0YPW;F_2$W MLTX=JV"=/%#,@GX>6G9!SR_H&=YZ1?ZFY[EK!OBNLV20_ORNLV67 MW/37MJ M#7#;?+$0O=*4_Z.2^\AFWI[ZZ=I0H[H &+!N[C=^\RP).#;&-O.CQJ)S:6'=/;E+U\6WM7P?RMYN$M%E"4\+"(.FB<7'J0XSDLAF% M+.)90&B&C>[/'?'U#I?M ^40VN0]PY)BKF9(\VYJ>MQ/O^<_ ?(3.N$Z :V.ZF_+XE6J-?OX M]ENE;CB7(8?GM,Y?F_HAYZ1J"K/-,D9H2$4 LX1*[0Q4GP+F,>BG6> EU,N0 M9]14VIR%L2\4S^_^'5Q]OOG;';CZ=O,%W-Q>?CN_O_[Z*SB_N+_^_?K^^O+. MS$>Q0%G/'1D7.XM[Q)X3%;SR03$#\L6?U^*4.X;>SE0WHOE+DVKP*:]HL\"\ MR,>[1Y5KTK/LT#NQQ\N1(V+!P*0^ASU V^[%"2-9EG-0_DK)V4 ^TU;(AN1( MO,P_YX+/J$ AH2R$E&!/&K70@YB$"#*?\LQG!"%L9-1.869D\[83_W59U?D3 M5C]I>0"*"X'3_&%X:-RH.43#=W9 MBIR9[W40%SV_RH6T9G:KI[C2QK?C!LO8%3HFER,WYR"925V88\)NNR='G[=N MT*$*XK0;^&]Y]8^/;\MF+SX-8T'"$/J<"AAE60)QPD.8IB0CC'E!@LPBT@_3 M&OM\:)TR4*3M&^(,(::GOXYP,#SKL8/ IJ_&,>'<]=(X2&GJ_AG'1-[3,^/H M*[:QGJ]RX*)\4V=T\Z)Z*?E:O*5SHW0A0C7?,%%DUY/RJPF**K[PX?WU0*7'GM'[!\_F;J@UR_E3K]J8],LS( M&BJIP]O+&_!5_K\_0MO,G.W8:4J>&(7YZ6 TK,J.X3'39+?(&+6ZU939JN7M ML;$G:WVK*>1Z"US=5^P6Y56R55.V];=%7E??[G[K=GTIRD0:BNU,RC,%'P0 MA1%VSEIB.FL?/T1KX@[R&F+O-I'7>>F41*N[6N[5U9':9S5QTIYWJ7V^P+$7 M$@]Z6<9@A ,A'6_I@GL9CEC 8T_H!4EI41M9SY=459QXEY34,W &/F+YL&H# M;908J8>BKHON"!LSQ7<$BV6:UA%QG>9J':+U#@E;1\3>G[5U["5SIWW;;?B] MK4;QA>/-/::F\ZXYW.@G9P?=TM?J+UW]FHXG?=]=%ZKC/OP(*)F>J^D#Y'BW M;B&_E5^O2V,R_]Y0Z'4_W_15BPO]>SG>D[I-JU30U&U9L!=:]W>RQ$O2."8( M(D03&,480Q1G'D1<",$PB@.L=0)WE-+85U\M:5!+V@97UH/8#&N[4XG-=+P7 MMB,+>KHVE_:#"!C*E!#]=S#U-5S)OP4JEI MH.1-TW.)(F_"HUW=Y>O@,7B1/SC =+?X.G)L7.%KO>"LNNQF-DF)%U7;XMZ? M)8'P,C_-(,%> *,@(! G"$$F_Q:FJ<^]U"@>TX3XR,;N5O[\$5=WR,*7KF M+*N^"R[]I%1UO\MX!",_$S#+8BQ-3I+$B' 29"/VROEIJ^=;HJEG;<;'R,SN MG- 3QVT]_=. >9=F..]36_\TH$YK?G-BG?U5&M_E$R\?I(/U:UE\KQ_5-A(O MWF8H$80DF$"/R4U<1+T$8A;+W1VFB?P)(UFH=75SA,[(%J=+!>U)@Y8VZ(B; M9K_N1VK8V#B4W\R:6(IND0<[*-@)N;#[QYTX'W90N-V.C9&8(%#]0,004 M1V>@X^FM\@#=Q3L6BNFYLZ MYM7-2UU)UT7E4L]BA% <>0@RN7N!$4D2F/GJ\,03&%-,L.\9ELX8(C>-)]%R MT,8^G+4M$2JPQD73)*-IC*$;%*()IJZ7X0HB*V?C&#HNO0X=04]P/@:'G]@' MT1%UUQ71>LLRZDMEB]Z(WZIV>W)#:JPJI5W+O0E]5*T-KHKR0*>P611$3$0I M@2GG/HP\/X DBGW(TX2F+$WC6!@U,#^!E[$CQFY^ [C9OH&BXTKU/N$=7T 4 M)2B6U2CFBC7YX#Q_L&D$=LJ4Z/DU$P%M9G@:IF AH&2K/2@!-VM87ZYCO=6A M<-6@T&&XVND8N0IF.X&3:4/=3H=L)Q#.P9 3]SKKNKJLF>BO+VT(;FR8P=S4N:SVCZ9Q/$PW?YE9;V3OBH%A1 M/P.$R_WV0FDUZ8+0C%VP\68/\3B*,ZR\7QI N>/&$*<>@Y2E2(B8!TE$NMF[ M7+#_,G/7\WK:S/'68_X)ITUO07S7B3!;)AWT>%MV<;M9G\.6\9^@0=LQ3-^[ MT=I!_OYK-$P[!J^SQF='"5F$KSXN'JX75ZH1VGEU(WZOZL7#IUJ=B)3_45[^ M9_UV_KUDE?RQ]! N7DOV'V47M*0;SVHY_M@!KJWG*ZWJJI.BW(^H^.W?NW"O MIL^B_/>M-.IE>QS8M7)LYJ):Z]AX4;QR55M*/600#FL+_; %G@IU,R,['N . M$VM<0&<7:VM+=+K@VQ-AV8C&/74LVW2\5[YXX5=2KJ82/:;UW_+Z\>*EJHLG M7B[K7*I]D?P?N\<_9@%.<(0S"DF$/!AE00PS7[JL 8]Y&JM6Z]@P2<^8A[$/ M8EJ.3)/T+*"4^S&4\@@*AKFJ:$;D9BU%D-,D]OPH$Q'-S*[<1@;3ZKYM,C@U MSZ7&AC#+8N#UZ7(LCLNPD6&A\;AE%'3?=_QZ M\2QW\I^EB9P'W7<88H]PGWK0"X(01I012.((0Q813F./!8EG5*II@-;(EJHA M!0+#D.8!:/0<'D<"FYFHU996^2^*[AGHY!^A[(.&B*["C KE1IH1'UNR>D]:/;V\EVF2_EP5;;^'8%D%9IE'=#G4%/ UI#==E M)/S,#,5/")V!YS,2A':NT+WT>58]*ZGJ:9(OQ+SX?@C;92_8JL'V>9G=)X=U MY299(#3H-YF,-YTC92'EAF=E\_X)%;A>J KY7#S(?_#RE7\KYO.KHE1'RK,@ M8G[$<01#3_X1)6D,49 1Z"4Q0EG* XS-XJV&Z8U^E+=&'73DP1^* =!Q8%B3 MYQA^NH=0SE Q/7 Z 1"[Y $L8"1EZ80A>JH*$I8 MF**8BXP8-$PW)#^R:5"$P(HAN3U1B0^*IS/0< 5ZMH#BJ\F&,.J];8JVAL=9S[Q4H8C*4G='6DRAF"\Y=N6D6>-PI&6X MZ:A3M@2WE'BKY;?M*.9A*==M 8+[DMT6\YSFO%).X]>B/F?%<],/P;"NFO: M(QOBC@]5(Z.YY.JY 7C!0.,8LQ>U<9&<@8XU_8@2?=2&S>]H@)E970NL1JBU M9@R$502(/I7)0CZ,!5^/\3!_V;;V*N/B<&V RQ_=!>.O1<&^Y_/YC%%?>G5" M%1/QL-SR95AN^=($\C@*?9;&F J+F'%3-DR4QCHD_.-V]+=I059#:+,DQIE' MD-P^JW#\ &&(":)0>%$:>9PD7NB;!G2/#ZQQO/;E1FCVR)CBR&.9GZ10I*G\ M7+F(()(;%>C'7N1%+!6PY.=2U%'Q8L@-Z?@[G"5B4&;:#PEGE84/R$Q1. WK9"Y5W%[23FTLAP"F-"?!CY(5(U_C(8>7'@1Q&*_!C95/8[2'%D M4[.O0F!D5.S2LJ_8=E=!QJ;[#]-ZE/M]1\0\5Y3O^HL79 MZ!VG39&3/N;$8RS!OMR0!#Z'$>8"HHAB2 )/1"DE+/42[8//S;%'5ND[+'C] M]DM/T^"@;0L"C=-(>\',%+.G8W-\N"65P=F@O70G-_ZM.M*NCO?VBS)X=K?U MRG0'<_MYW3AU._"(;=_/H9(TT@S(O48 XR"5RSQ-8FD'8@2#6"#DA4$8:V+%ZEXU LKHKR4_%":O$R/Z=4;:^KF9\RGP01@=RC6^@ MH*FOEK*9Z:>V6.;*MX=_5\JV/O2TRK5'J!UEVO>,]8JJ0A3>U)#U^8*IW/1G MM?-I+KC>5G>K?A@D(2617$Y571LJ]],9QPB**$X9C1(O$T8Y'+J$QU:ZCHWF M]G7)@_'2J8>A]C+J'!E#E>TX.&M"M.M-;,[:&VNYE>_^.TK7;E,0W"VR>F2G M7G"-P-BS^)J];Q[:.*X#LL.T M55C':I3)PC9V&%\/R]C]I679]7S!;T2[=[C"M"D/>+W(Z[QMJBFW;_XL#I$G M>!) &G *HXCX$$<"*8"XW&1&G)DYF!HT1]:0FS)_R!=X#C[_<@&NJ^J%-T5K M#.NK:T"GM_PY!L1,XQ1QM9?N]H\]?94 V7,P#(YY]71]<5V52M>@.&U=='T( M=HJ@&[QJ:1/4\4I?Y>%%]:8KG_H>V"1 J:]"@:COPXA$(21!P"#!7& 4^YCC MP,@4'"0UL@5HB^.N409-\P"[:^0!P#0-@!,8#/7>$@%S=3\JG"LM/TQH6N4^ M*O".3A]_PTZ5/^45?G@H>5MM^T9T95SNU9'A:I.& A0$%#&89JE@GI8[A\5,X0\B OYH6!AG5VLD MM"-#H$=S4IM@!,.V>3![VN^@AP=JYX?N#?^%.;N[?EC00S2H54^32 M*28!C!(D7?]8N@MI%J4(1R(4F5&*_4\BU\B&IV<#X)8/4/:, +KF>K<9J'PE MA45Q^/?'TJ2D_/MS.YX=WEM@?E45O"\SK[K=MN* 1A[0"+3\:7NMO_R .G' M4IZ=O9OC O4_SPRY+&O_$T@U?3'\GT#H VOFS\:>113V%_GXHY_6C^J#Z[UF M)C?4Q">0QA%2%<-22%1W81ZD(6,QYS'2Z@IXB,#(JU9#$2B29ZH.96P0NKP/ MC>%EP86,9O9Y6SR;$.U]V^))IDQ,^R%/J" MQZI_7@ SAHG\(V%Q'+,@IEK)Y?L&']EP+*D9J-.V^!I&XP2AS,S%DI"-G=@6 MS,!"G"#@R;9A2=N543@@S* YV'YG.D-P@-L-$W#H&3/E;X+'R[?9;W[PY_'(2F'-=N.=S-] M_NWK]?WE)W!W?WY_>7?ZY[W+\D X6O=P>[;1_6-UK+$VU"3?^B[K_1>^YS>V M18!HJ:["/_'VO]>+90?;"_R MTR#ULYAJ[;#-28^L)VV#M4IU1^OZ:JM8Y'G7NS?GU5]-RZIH8ZIW?#L.4H:K M+/N[]*F:@]6Z4&E0\M/-YQQ\Y:J\(Y7.EOKYA2HFW:3A,,Y4Y\\/OU5-W[D_ MK[7)/J=U_MH%O+4"@0^]:']6L[!ZM!,/_-$+Z/!:S1Q59U59M E/7(_%%)#= M2BS&(UA>T:F3R2:,E'UJ2N#>-@6IFJX%:Z>6RQ-+-J,("\9B#+F'I?7B60*S M)" PQ!D*@U N[L(HCLZ8@['OVYO2[$77$)GW5 UOM8QAU;Q_&A,LPYNB!J>6 M%] R UINSOH^).TC?6_IRZ-0FE_VV,+AZEK&F/ZT%RBV\.Q<=5@/9)Z;\NF5 ML>JFO*D?R\MR\5#=LIO%LB'GUUK]_'OU3SW[B8<]IUK+TO ME >PT5Y[F*9AF_<.,V1F :>>',?910ZQM2&N#E?^NWJI7TI^_E24=?[/YN/LRC1L!1/[)..44Q^F/"(P M(GX""0H]B'W.1,8SQC*C="N7S(WM-G:LJN#DJ\%*F6>@Y1BLL]S7O3!T,UU. MGJ8'^DY38NB@<4*$[/H(U&FF8&]TZ42D;1L;JEY)G/5[WFY3'U/*8YIZ,$A4 MGG6$$,Q8BJ!/4):2$*=!Z)GU,]Q'9F0+WQ-=;NA->Q;NA4;/XIXNL)F1W)%U MA,RK89FOC!!(:AY["L%5@!&_Y7+*Y'P^\%GF M9R'C@D,<9!Z,>.C+O]$ $D^0#,49"LQ"UXRHCVQ&SA<+E8Z:]UUT2^.R:F98 MZKD-HR%D>->YW7UXH]GP&5@R U;<.*S$8@."JXHL1K2GK&ML3')'IR^_XQLX#<+O M/Y[')1Y_7;.6/RNZINBZK&\_\W?[XH&)_Y0CHJ3%#( M/2%=&!9'D/@\A!YFB##!,IH)'<,R3&;L&ZB&,.@HJR+?BC:0Q(&BKFX?E-^A?2 MO5#NQB>NR@=UO1]5 5C=T,VA,4:_&UB2!ANT#0HQ'X5A6/E<(F!Z66 EO%%@ MHHYD5A&'@P-/%DJH(]YZC*#6\Q9G@,N,DJ:$Z[*^3/,O55EFQH7GI4'B02\+ MU$V>A#-+A0\#PK,PS#"E1"N:3XO:V$JKKDW;%EQ]#:JV%9<"M&IZ\;UQ7.JV MXM,#4.,\T24LAIJLBPCXH(*/G0)CN2&^G6M7XZD(L M*L.,T].(3!,9M:?.WRAYHFZP<%=H^11FIJ[ [ "X/:6978QJV0485X_J_RH_ MYA7/UG$ B,(>1P"(1)!)! M%LV>FQRUNQJ7M=X1X4D\F:CJ-F?:6JMHG@&J)%J4/G6!0+A_VF78#GJB'U2;Q,V[':!6P[+:V=#&I=!J9XXG?]AGWI M+?H>2@2C/@Q]/Y![Z3B$A'D19)X?LRPCGI]IU3PZ0F?D7717GV1)5L=--()) MSU(Y$-[,!MG(;5-&94@J=S53]E*9ND#*D*A[JJ$,/FX;^5)*I5?WVVU8W2Q. MI/>8X SZ@2^]R@132$A$84H3CD)!N1\:Z>@V@=&5RKFI\PSJ2J11Y6,:>^_$/NV[S 0Y1[1O6##M"99B6L\0_P@;04_]S' MGMLLA;LXF2R%)TEOM11*BLM@\@\=T<-'Q)9KX4&QG*Z%NU3>82T\*.K^M?#P MX]8Y(X*7)6=--9^VAT%;[V>6LM3/A"#258T$C'Q5SB'S?(B2+*,\2I)()(:I M(@=(C:RR2\)MONX9J!K:(&]+6*D+C_8GFE<=&MCIZ; ;1,S4> 7&70M&2[:K MY^4T"^2(;.Z2/PX1FCKGXXC >U(]CKUANP)OEB3XRNO+'W3^PO+%PZ]%P;[G M\_DL\),X\Z@'$0J95&^60.1CK+2=ISXF(??)[)67I-!?D(^3-?FPUXF;.,-] MG0_<93@M!CQ&>_Q\Q.7+F0?3@!&5[LH@)BR5?P2A2&+$$AS.:E70C;[:):G+._5W>O]**JS:H.[GMW;-='>HI-V8ME[>$*W/'R554J M4?=\^D%K>P4?5F,7,ALZ-T?$=5Q(;T@XJSBUO0-.%I\V),YZ7-K@$%S/.]^>+Y@JO:BFF/I/%6J"&/=UU@0OA\0 M&H20,9' **,8$B(XC),LBG$6!W&6Z;[Y:6JJE&I M,OKUH[3XES=R0JYN#H+OK!^42WR&^T.Z"\6OZIC;A#;FU3^Z=8]0Z2 2CT&"?0&C)%9% M#(((4B'\-.4(LU@K#5"3WMA.8-_B<(,\4/0- \V.P*9W8N,0#$.'[# .(U0U MTQ3355C7$6K3!F[IB;X3FJ7YFIW.+TL??GQ;_O7?0^,8O"$))0Q%&*:)"DH8GJZY$=V0*LU2E=TFZ6L*_GOX,_ M% .&(5J:8.H9!/<0F=F%4] Q-@MFPCJR#II$)S429D!LVPK#MVTOOE4*5_UV M*S^76OH@*A+T6>TY?RV+JIJ1C#,<10EDH8]@Q"B%*$()#"/FI2SQ!-=K;JU' M;F03T= SQT+S>?/>_JF5]Z#J.G9!'=8&/OW#=TST%!N<%C2/@,-=9<7X#I2 M.KL$'R0V\46XCN"[E^%:;]DI>U-EYWKQ*HJREZ7NT]T] <%;K0Y1Q8]I.QNSZ]? *0DZD8!$$"[]\2)ZBI;1&8^5"9N MF4]*!6:YO.XE94:S,*2A42PX2QOOZ6V]6H!V,CF3 MQVF*3]7P(O@\T/5"R610FD6:CM5IK=<%6&MV 5:ZJ? ST Z\2/7 0#_G(NQQX;+I+E.,Z;]V(C'SL/*JFFK??Z^6= MW#(T7/:M?N7-VX90T(*X:7Q$S_%BR&3$A":J.6/3Z0)6RMBQ.9U :CR\^ /) M+.IL,3U)?(06X&X''_"'4]I%.]O/YH(Z(>9=F*'T3#_&$Z7Y]+DLKC^_M-6" MM^TE%8+:2O6:^?EM\"]%Z#A+6$KR@'-(2%9 %-,8YD4:P!R%21!26AH6OYHJ MX#F2K)20+:;(B@ZM8R4U/',U1E9O>^03+[.@8@75&:RM9O8ZYV[5%/].#*YF MX!SG<34;Q(]UP; I:9,361Z/ M%0;J*5Z+C8+J-&&H8M\ M4]#VVCII8+=*6ZN#AB+K1AW/BXLMZ8#W.H$GO*2/LOB$#A0R/)D] M\S7HQ=+IP#4+HKU>8"A370A=@)5N8!O[K4]VZKED(' !DS.^@K.4F9C=P 5P M^UP(3D:U;:PINW'0Y4LC'%QQ%:G#L$O9BT/1Y&^8^S:'"GD:DPAC#$F1)Y)M MC4&_?KK_]>[Z^R^F#3DM(-4+<+Z! M,C^U66O3HM#_2]GR$6QXP3!CFE!40X3""A80;+,"4(TR01BSJC^W-#!3Q' MIZ%$N>NZN_G5JG#:&%?-/:U'M RWKVO.;*7*!5#*P+J$0IVNQOI"=A&K:E91 M$;YD>KA3KD9;*%SM2$W%3[OYM 1G;Y]I.\ZY9]+RM/M![' YNY8E/E59B3BH M_%"=2#7B7XMASR'5)IVSG?9849I%>8X9+!F*H0A=%!8EEH3#/"ZR-$]H8!2L M'.OW#B?:%V"C>>>E8*6P6F>L5'X#O<:V1]]N7J#IR?CDK^7\@W/C-S)1JS2G M4#H_DW>CW3L=V3N%]OB)OELQYFD'DHY>K%U?\'S^=HLK]EO[J?[!YUSR]7X3 M\\G6-DTS\&W_3;KX,UZ\@95VH%=//QG!"+_3Z0B^ MH#,+@9:H>4A1L,'#*DG!2-!D:0HVY@\3%:R>MR[OH)RS]HLP0-&KW3RK@_*K MOWA#JY:S&2U)%C-*8$E3M=#+8)&&8I.*RYSF#$64(<,*CW&)GF/+2CZ0[ZQC M.@1UIP+@*QV,JSU.@*BWV'(*C5GLV$9%"0>]='!U$A6;H@\]2]W5?9R0-W7I MAY[Y!ZH_-!\T;PG[23:R;#A6O4TQC5 0DP1&"0\A*HH$$E86,*9Q2CA- XJU MKA!W!_:]<%"+>2'+L,OKENWCSGJ.18;SN9XQ1HU;#VENU:IU:Z#)FK,>4G_8 MCO7@[RUGQKZ?TWW=+^E7.TPNN?)N2M4GHU_LSW!.",5B:LR8+(-,:"30HZ\PG6 @-7%>P($W4"A@<;I#;H[(,R"P$D,/&R^]6RUVFZ?&'JR M#;:>B<,MM>83%HXZG]\W6++F#KJ#KHK(=-UT9 S?3CJ?@U[VL+VIYI7L20 T M/-.1[89^><1LQ\2W.L;9.>+8P-.YH89Y6TZH\WES%[SZ;['H_[-A[27[KR\+ MXTGRR..>'4_R-LCMG8Q+[9"(^0)\J>OEHEX:'&> M,-/*!X^-.9G[G3!JZ'FG/FKN=*H'@NK%\5C/Q2-WR\5O[2WGS2]-_?)L[(2: MPWEVRJZQPT -<,>7+\T"_-8"J0Q0VNC[I2Y(I_W4 SYF?JL'C0?7-;3+0=F*8HYRSF'/$PP1$6$(.9)".,BIREE<8:R M?'66=F]!0NA<8XOCMWN+HVUY4/3 #]*^>A/ MHF5ZJ9QPQ."R)&B3A3+8YOW\MOE(?X:J]@#=?N!Z(=/SE2**\.G^$2_ZJ\WO M]>*5MR)F?G]11PH4[E5$&-$D^GTMSSVO77 M7MBJ:V,MO@1+28LE I!UZ\;I7FM0Q!&-$S'KYZ68]?.405S2',81R_( 17D2 MD=FS2GK_L<3-\F_\M(IRO\.;ST+21XG,H&<8":< MF5*QUB,Y9!G+8THY28.H?^M7"\V;TP_\SED.QJ[ /U!V< :T-%E+H4]J]RL"[ V2?Q5&>4P M87WJ]^ JE7TRO:=-REOT^N@-U:]#M?RLWR;5._5HRSG]]^%?I<+ZZ5 M#'GYL"[Z7-/>$+&\B%*>PC(/N9B'$(&8)"E,\CR.PCP,LL*HFLEK'_?7WW\!EY_NKW^[OK^^^F$V:UB@K!?^_6)G M%L?5H7D@ M%;+'RU&\M5!@TL!I#]!N!#QC)+M0]@M?B*_._'+!+ME3M:A:U1'FE:]*FUF4 M!SP2Z^<4YU3$K3B!6.;JXK+D01@2PGAF$K=.R/,^<+/]093//P]WE MRVIW6:\Y@/!:(R?[\T,@G[4O/Q,Z9_OQ#6N2_G[<^R9\!!R_F^]#@C_"IGL$ M$,W-]M@(MG22J[2:F_+'8]TL[WGS])F3Y4R$&QIC'D"$\Q@B)*(/IB2!8F]- M$Y8D 0^165G?45D6241F >>GC6A9=]9*X5"L^[KC/^Q M_EM?+G_H*5.FR6-HZX6A\Q"T7 @-D5-"H90*I%B7I) G+'/&_'A,SL3TCB?, MW>=P//6 9>Z*+*2_;ELQ-7Q6_) =MYZZRV@5<60EF3?4Q]1]QI>Z*7DE?C1C M11HE94PA8FDJ*1LS6!0J-X65+"]"$H>Y68"P5\9[!.DER9VQ<(.7W:OI$C1K M]7I>#?LK:?M7HA=%/,-L=VFL,.N4 IU6/@ZO M?\^&R-5]KKTBTU[0G@W8WHWK^2/:-B @R\U]K8RSLS1"- P2 O,XQ2+>12G$ MDO41$U82$C*:%D8\0/LB/!_/2(%BI["2".0JQK0?P!XJ>M'F/%O-HH@R&C(]^V4G",RK5],C#AV\]!S4,0J&EQ#C M_=9[?*0.$W1=WS?8=^OU@<2/T7]]'P+M)NP''K4-!;SD3=//[;>XN6E4ER&F MLO_%,D"M 688%83F#$,29!%$02KV'SE/88C+#&4QBX,B-8L&.F)]7S2NE.AV M$1?@&3?@52J@-A2__O@,!/K=QL)P7Z$)JV[0< V6:=Q8X?2CPTFH(+YD71,S MUM4NR0U$MWEP&3M,['86/K2$3AQ!3(#8#R)&3Y]+^WXX-7-((BCE=BF=DJVX M^]D.:7@>ASPD-!9+_RB#*&$Q+"3C64Q*&N19G 8LM&-]=Z&>Y[BT4E8= FXQ M9*Y5:\% .5M^=R=O2O,8Y-WP-SP:&4)_/&=^ZZU<;%[+\*U,Q/'N$D_G%.]. ME'LGAG>7P!XG>'2 M:C<3?*K;I9B2\)RO>/48Y20J*(&(I(D(WD4*,<(1C**08TJB. M+DW7XG@3/ M2VDIK[LQ?.6+%]-SOWT\]$+C65::1;.5@4J80U;!DZ8XBBC[XT\:!(Z:M^NW MQS]HD8N\?:!_O1!?;-XN[\2>_'IQ);ZH0M)G7N*7^7*6YR$M$(]@&A4%1#'& M,.<(PS"F19%'+$>%UC&\H5S/;KD2#1HA&U0+(-U3?8]9)]\@ =@ S''O]0B1 MF4\;*N('*X,\:C^8V:58JQ[06/6T$=^KX;>LK!M0OBQ8VV>4J73.O2_>!1 ? M4<7O7/R(B/7Y0\-5T?&_.4K:-D=K-)_;8+CI4KW-;=S* K=XW++LL:[9G]5\ M/BO#($I%=(4YR4683;-";%+3'-* !"RA<X^A*C&&YXLKJ*$U) M3(((QB$K9=([AR00BSW&:$K#/$=AA,VVYC9V6VVBS[4<8\R#(( QQX%XWV)Q MFY-$F)\6>1;SL(RI!0N0C?76)#T_[_+P6$*1$I+S)"&0Q+*T5_(2Y"SB,$KS MA.$4EQ'-3*EQ[($P9JZYVB*GL<1 ;UEO8Y79S'_R6VU>;[NCLZO"VM6PTU;0 M[ABS5RJ[^WL;CF])(7+@S/5S599B&A)Z6E%_FXSJ>=+H"7\.75J C3YV].!& MX(U[G5_JW[H\-]BY,44X M2C&C.4SS@,E9E$-#3*I3DBQW,445*!%&MXJ'8,%KTYV(&Q M9JZO!%XH0[W>Z)XPS-&\?4S*I-/X"5-W9_53'[<@ON"U8B]7_6^?EMK\%]N/ M^EGW-V[T8XO*OJIWE8MZ*9>%9$D<8HJ@(81Z)?7/) D(S M&K$D,[H*.B3$]YPE1&X**B^ % O^D((U&2=& =*S/6V&=M"Z6>&TZK_C0^Y[S@*(6$RJ;)F">0!"6".53X.A)ZYYVC=JO]KI MP&7:D7#*1DL!9M9Z& M:?2*<^3QZ:XT3]NP=86I\7'+AEC5HEKRK]6KY*A9BB]$M4D6>ZJ;9?4_ZFO4 MLT/>\2=SN^+>8_3^:/&'CF>/_YY6[(LO%2KIN[.3AYL MU@NYVE5?R)AE19#*9ITLR2$JBUSX;IA!'N @B0*2D\3H#FU4VC3W\1N95KX[ MCI>> SM#P"TGG(DI"W7ORZ*J5( YI' ME 8PC+APX223AS#B;QD) TX8HE&I1JF_2>=LLDJ4I=#E(V_-'7;SI*<%!%) M&2QBE$&$TA3F/& P8YQ33**,QX8+9PLM/(<1J8YJL:+''NN$,?8$[+KK;\]@ MFD6<,9[8OF'],9I8I9EWBE@]8/RRPY[0X2,0P^K!I,D)JSF8Y?X 2];GFW+= M.*&=Y3@C-"EEJV;)?$U2#G,4)##$21P541 C;,1#N2_"2'.;E[F?,P($EXV327K'X6'OYECA]T,V2/C^#;R<0V5DH&4C0, MM]I?]UKHI\R.X##N=^X@,-_$G[ >_"%5<%2+I/?5/>\>>Z6."IIT]3QJ\-XN>?N+]J?5D\^>%>-5OLR3 ":H(#&FZ!T9]=9ZFGB.%0? 2I)QRSH_KT4OTKP[U&9!RI@M;ZW3!^?*V\/N M U+D;73\VS+C[<'LDQ!O7YCET>K+\_-<+9_Q7+8&_#*O_[Q>J,[-JFR8M"K9 M89;3/.2R*U<4YCE$/,$09VDH,\H3%N2 HZ4 H;*0*8* #^&.EA\+P?L&,PXPI;)PN!7;R97H#T*K/'R%TZ\27;P6SXO&C58??-5X"LL/N(@\ MJO+?=DUYZB5,QKE\2+9M:VC)=DB7ZJ)-)GO'GE7]5-^X[A]:;@!B-<_08J42VZ9E].+OC FLSED]^DKN3---O-7>VN-KN!&;+*Z>SLTWF27 M;B/&#&_;QCYF>="S[KXS9" :7)_^_':X04_?F^?F9=DNL6(@_2>O'AZ78M4@ M=C#X@5_]Q1M:M?RVJ2B_J^=S\760#\Z2@),XRW,8A2F1G+LQ+!*>P8(64/K R$"@+=4YQ M/LJ72//H[$-_-0Q/X3[PM\+\;._=7HRK8\+I#9CVQ/'=7M#>X>7[:6(VI3)> MS:[$3GKY=LF8<.16U9'=-+=-_5H)T&=BE\J8))T@+ H@*A"%)(P(#/(@+EC& M4!K'.A/?*4&>IZ=.-.AE7W1-<&4WW)5\O\52C0_KPEH0RN&I74W:^J902YK><5?>O^W##T MXC++66>O1=K!5)R4)LVRH\ M!YL6)(;Y)?J0ZBWDO !EYO8#C 9*7(!. ?!'_U\O^=[&YKOB<=&6.RU;BRD< M>YPLQ@/8\E>2B&GS&5,4T=BLS*!&$Q"!*Q178;I')U MD"0I9"1D,>))GI9&#;\-9'N.+IWLONF4/,.EO713^DM],/6BBB>(S.**5&(0 M:"] #]=:$;#2Q-WYV1D .&/@U)<\,4&G,23[_)WF0U@R.VUNY_IKN5F2L")- MLP &:1A!E.$0YI3%,"L+GG.PF>\/9'FX]C]NB2NZIGT!TQ(U'35PCZ+I^"=M9_:F>L7+ MZI5O//VN:O^EN(:RM$Q95(J=?4ABB% IM@DHIS"*(T(*E/ R,B)V&1/F>>[> MB![,45;T3*.(Z<[7;G PG: M(+"8BD_;YFSN'1$U\61[VNC]V57C&:>$$NIX ML3U.;1 RS%)$(UB&I7#WA"&(24!@EFA_ M_0\G]!*G7H+FA9!W: TO=48()CJEWIMA0A,:OQ03IY3X"!P3FD!IDDSHCF:> M.7.]8-5KQ5[P7,V\FDDSVT_YCC5K89J%%P?L&H\'YYEDYN,;.O]->)-PL&Z)GB"$HXS!+"4>9A$: L3H4/E12BLL20A$$*XZ@( M<1H$>X*R3LO\,% M(GE:HAA&3$0#%"8))*P,81'D/"!<2\^VRXS M?]U(LFH3M6N;27.H,VRT;0DUQVHIL:S!1KJS+DY'[!GOW;3[T(0=FX[HN]VG MZ=B'[-8,*D5]J_BC_]XDE%(2D@2B(!9_I$$(28)S&/ XB@F/ Q8;M6P\)LAS M@%!BS>;]HY#H3?8N##6+&%T%QW;=E?M)_91=CF;RHV(FG;Y/&;L[9Y_\O"6K M&E]* @"5.,9"B,C"Y2-87[?F"62@"J&2Q4&D6U4+\OU(7XM#[77O)P. M^=R,P7'%[Z8O>%J^-V- ]OC?S$

'Z]^/'R]-2H M_BKMX/CH+3JOS?W-IDUT16 ,QO$6P'\1NE76] M$$%#!,Y;7#$166<%RT)*PPPF+)?=9@,*BZ#@,&2)U%AE ^T,[[WV[A. MFMF2:!<#O77/&9:9!8F5(" ER=ZMJ\7+)_QABM8H9+'C<+6>. MV.QHS;([^J0+DR.F[:X^CGW,XC!2!OI*$MK+UZJI%QWMV3VGCXMZ7C^( M)4P_J45)F 0<%3 )@A(BQG*8HQC!(,HS4A8Q+9C6@82A7,_>NE9$SG);JH"A M+@8G@ :0:IQ[^@'*S/DU,;(Y+C4 R^ @U0]HMD>LS]UBJ@7+1PZ>];!T=01K MCL3HX:S!<-,=VYK;N'6@:_&X>:'SY_Z[LVE2_47\I)W%$8UQ$F&(\CB#*"D) MQ!F*84PQ0E3 GS,M0M@1&9X#Z$KJL%<[4(+UZYJ/H3,>'QW9;!8++1TICM>+,?C.G/&:ZS8ID' .# M18@S+.S6'<9?![.%A99UHVN)\1&F6SYH6;*U8M![PI(5&K=5>U->=M3$,K_Y M( V 6!>4&)4,YF4FB>1) 7$B.<)02FB$28PC(V9//;&>(YA20JZ+^^-'@[P2 M0_CT3E?<@V(6UM9X;#28AC_!S'!7%,9Z0J5L)QG<9EG(8-QD@00H0S!(HG%WT@9A&60X" R:MQ[3)#GH/"5 M+P08X#M^XE8YW$?QT8L!+JPV\WH#@RU*G,>M<5;H?$3,Q.7.X\;N%SV?^+QE MAM?J+/PKQRV_DY1J-^6O;<<=/@LQ2V1N" R#$D%44@IQ2E*8AC04ORLRS@*S M!@VC\DR^ME:=%90\6)?PI>4 *]+S"[#@AK:XS',S<=W/UH>1>@#4B M0G;7Q\!A3IB.C:X2PT9E39L=IF/V7HJ8UD/F:1I?A!7U@LL& <)CWJ[^>A;? M![5TO2FOGYXE$VA%.SJ%P0I4,U7#:G#/,W*O$U@I):\#UVK)Y>JN8OJI%G98 MCL>#26 TBQ'&"#KNBWTV)%9I$W82)TN=. N08?K$>0/9EIZM^J_=E%_KQ<,] M;YXDK](,,YK&(KPDY\WI;]6&5SJ$QJ_ADO\8I]*TC$_[ALTEM$ M*41!%D)>68$9#L2T"H.8$(C2B,*" M9 B6$2)9G.$XP$;UW/LB/#OH9K\ZEQ(!K4U3%P^@8K-#-[7US&WYIS$[S]R( M#TWQLOM6 MYQRSTT<'R?O?5).Z^3><P2@+,Q3G-"YB(ZYQ+:F>?7,EV\P?]?#2C(G=7DC&':C@-G#=H%!%IS(:Y+/]1.N M%K,R0R5F90))*INK)WD,B207S(L\1C2-RAQ3DPBP/;QG5Y?"^CN?3I[A-=<. M%GK>;6^AF1L;&&?LK(=M<.25.X-/ZGZ'#=OULR.?J+6P M86FS 81Z/NH'&#/_/=R>>Z &[/50J^J+%;.1UX[<)T#PUU?[F.#W[HY] A"- M'M>G1K +*E=/S_/ZC?,?O'FM*#_+W_GRTTC M[H[Y\TO=]#^2GPMG*<5QRI(8LA@E$$4Q@D4N-@,A3@A"11RE@=$J8%KU/0>W M7Q?-6KZ(;H.JW)ZA[0(\*[54<6^S4 M['9P5@:=ZOJ\M@<,# +2(L=MGS_.&W+9"_H#6#5]@^@/8/21J?BCJ>>A(Z$BFU> M+]53PYG#(&=I2G(:%3"+:"E6*FD),28%3!'/"U9F21&%9DEHGF ^)SWMZEV@ MU9SJO7XK[6?E+6*PP=0LZ1,/SM[=AK97=C-QMXJT3-DT48>?4="FZ.YS6(&/ MT]EG%""CKC[C(UD>2O[WBZSN(:V:?G1/D+8>\I@UIN2 /U:2'-Z6'3;!U8G) M]N#3GF@<-&SOQ.'PIUR>" RBV,]OFX_T$4P%L.WOLJ1#O!;+H&K15E01+H:S M@)=BJLPQ+$-.(=*/H!MK@N =?;M3J5 M:)NRJ.K]A3CQ-\DNUG%Z__QV+\93U>=1&E,6ER4L<))"E*>%V' _7A%(&-5F!+K0L@U;*JYS\-K5X0=@J8BW2*\["R2'+4M-]9 M@N,I>1,G-VJ:OY_8J/N@7>B0W0#F=?O2\)OR\(W8(+ZU?8#[>3? #9B"HB(/ MWAOW9';\GO:CUCNB;Q;B-HA)ZG=5C.[I\!']TO/%>^(X\ MH>JJ_[QC[:9M6>\'VKTN]Y[$V-!-KK(:Y+'5K7"/1R%&WI1L?)WEL@DHR6"2 M1SE$94!A'J<(8HI3&N8ZQ5]]NO][\?G4%?MS??/I/?_(@7BH$C,#VTP2,@>-K_!K%7[/*_PD?X(K0FQ]!,;)*T\/,R&#I;9-VS26 M^H]9+F5Y4[UB68+;[O-7\BSE(@*F4<(@BL4?14$(Q#P-DIC0D(=:O->G17D. M?NO&&'?RD/+'G_@97#XT7,TSA@O*XVAIK@V=8&"XS-O(G(::\K21KE9=QP5- MNX Z:?#>6NCT$Y87'OQ!?JV[#D]B#[Q9=&V^JF()DY7'__YV,0D+(QA1+ ( C%&D$1% "FA+,AP7(2Y61 X+,>SXZ]D]4^+CU 3+N;\T5Y=P=?^6+ M%]Y]^S*QW,;"*R$C+(*(9R7$B5A\YSC."\Z*,.:FI\%'A7EVSVW1\I2Q%V[G MKZ.P:1_..@'#^*35$@>;<]*3!KH[]#PN:NH3S)-&'SB.//V,G7M_P56C[J@5 MCT9[N6!?JXY,4O6IPG)^9S>+.TY?&IE))S[PO99EG]T_%2?]UVK!KY?\J;N& MCDF)( U#6U-FT>U=7I)Q8/0"IJ-( MZE:W24.O%UAW8[4?(7;!_;[!C#_AYE^KII]F':.=69A:2/) __8,3,[U0=Z&/]5R,T7;%(G?U M?/ZE;F1ZR"Q.HB2BN( ,DQ0BBC$D)5 M/O^0975#E?XOL*I-DFJ!7B_#,&**NEY(\8BE67CQ *-QX+$$PU$0,I4^:4"R MA&8W.-D.8Y%0=C*?[5@Z6Z?%]:)=-B]=YX+E(V_N'_&BKW_X10RQY&R] YKE M-")9'"&(<2E60&D!.MDH3)>"W:SZMD8G(@F;@/OP-K@#('2'M6A6J@MPALSJ ^ MYFLW2 #\F*_?+I'PR]H;Y:4'5O1@H%:O<2E?XXKSXJ%_C4Q5EHO?\9[DT%5. MX?2@CN8F3JC.=#F.TV.\E2OY#N(MKX>J1;7D:G>[0[D^N"% .""4IPD,>5%" MQ'*QCXEP"6F2T@Q'8LH/M:9Y$Z&^+W.4"OVV?K='P%EW,SJ :EZY.(;)\";% M 4+F%R,&)KNZ[] 1.>TUA@$(>[<3)L]:=C62$4F&M88_BL@F1(G-3?W$O]9M M^PFWCU_F]9__P=D#_P57"_G#RU(XZ!VG<]RV55G1+A8NV#W^ZQ:K?EPXH3'+ M.((\ET6'1<8ASI,8A@&+TB*-XB MC+HB.5?1359K3+% M&YDIWLI,<6R7*>[AA>D%L/=]#6;AKEO/;RD+.FW!3U*U?UP J3*0.@.E] 60 M:J]_BZ7N8%=Y=:\LU+\ G0$.6TAY ]=5"RKW"D[;PLH;P'LML/Q),N]/+?6X M5!2+\[=;7+'?.@YEM5SMCJONEH-J,LW&U&:C>HZVVX< O59 J@5>VW\#2C,P M4$UX]?*ET22UM\!P/)KZA<\L2EHBYZ$?M1TB5HVH#45-UH':#H)AZVG+$9QU M"SI"CK%*J'F;D3#F*0IBF/-(UOTAL3 ,@Q!&>9BG 2TP(T;YAA8Z>(Y%5^VR M>E*T$J:GQ>?@JK=^\XR66>@Q9<%9J^2UK9 N'O[Z"YW4X+T;#>E"I-%Q2'NH M]\N5[@H 9'3*&"HAEP0Z*">%Y-,1<0MG&SN:QV_O@;GA&9T;N-\E?]E'%8@[O?YV>B:I+=^J1PT#'041L8D31H8-$S>=76=1^R<]_))UH7_3U^BMGN[,,N# M("CSC,*\* .(*!)+'A:F,*99D>0TDQLY$_\=%^?9A8?"5;: ;'4I:X:JS448 M5HJ8N?D)#(L2XR), QBD60(1DKP8<8 @X66."LXI9MBL\84#%,]IB8X"XPEAD\9&/<-WPZ/F4[8$5B5O&GGS*D_O M[_%?W:C?^7*69$61TY)#FLN#+,Y*2+),Q,DL3LHH*N(41V8$5L=$>8Z,*\%@ MB?^R"H$C(.DYM1O3S1QZ;75_)2BD]IY\ 81@EWQ5IXQSQE=U5-#$?%6G#-[G MJSKYA&7-5Y>'U=[7E]UT?]O4[(5*9JQ^U@E1D>8\CB )0C$_AQC#' 09)G$K^BY*P(LY#BHW:,.@(]3ZA;U101X?8>LVN!:'N).\6 M&-/I?B/] JSE*WBTMC06\[Z^O/:,Q,=^L2$,>FE4 M*API$I()YX=92#E$>9;!@O 0!EF>X2S!:8BUR+E'I7B. 5WRF\UJ_C F>CY^ MMJ5F3MT9N5ZUKR4Z3LD[9I#+K+H]&=,GQATS\V!NV]$/FSEBVRQGW_$3ORF_ MX?^JFT\O[5+L )K/M6P//.-128J8)!#'! M'9++3O9B@TZ# F7!.A!*M7)%1 M*;X7Y+TP\$Q+W MTS)OY7YZ'S9S/\:KV=5B62W?/G'9AWM^O6#\K__D;S..\C)*609Y7C*(:!;" M@L8$VO-O,[84&WG M.VG,2.JE>+;S._&7CW6SJ_N/>_:2VZL; M(,7HYT&OS!CW TL+#$]Y3BEOE'V\HZY56O%JC,GRA7>4'B8"[_[*,KVC6H@) MYU/#6;7\@JE*R;OZZ[GJLO0^XR4/9Q'#."A8 AG%*40XPC"G:08IBRC)42FF M$J.,7@V9OM,]_N]/8",12)&&N1\:L.GMJ!R#8>9A4KB\[.S$@Y7\"VUPS#-" M],UUE1FB(7':#!%]"/8R10P>/9?O_QM>OC0JV^RFE'QJ][QY^LS)4B65;3*= M2,!YP@,N&?4RL8Z,0YBS,(.!V-:1/$@BC(S.4DP5\!PIAMTE-PK)?RF..:D3 MD$K9=@[01%DOEOC$SBRPZ,+FM>>C+1S.^Q5HBG^G1@9FX!SO<& XCOD*^XM, MB+T4H]\VS>_-U8+=E%?_O7R[_+-A[2_-8LFN%^HW[9& QDBZ6D^!=-G1YJRHCJH%N%R\ M@<&3RTJ$Y"TKNK8=CYW+#N?ZE/+IJ*K1@R$%"DJRQ)F M41Q#Q(, DIRG$+.LQ 0%"$5:&9,F0GTODU?Y@DH-2=4T4 3TFA@P?^I".1X> M?0%DN [5P>;T(M$>) -N4P]@V1&3WLG4I5;!]KS"CZSP>Q[@]]3IY8J'U!" M41)1W;&F8P UM&Z+OM/T6?/CAYN79;L42R]9;/OPL+QJ%/_3Y=-2]T3AZ "^ M4\4V.C3K9[/6G8<$-Z^L-V>\P[_EK/7\6HVW^G1IF>AH M_S0N:](MD9;9N[L=UXOGD5TN>/21B%9 MA?#V;J>)7\\ZU+'J$/U6(AG:PN>RY]2^H?IV\,D3RAD0C=F&>R M[7PI(CG'"(8L*<(@2^.R1/T;NUIHUMM_D/>UTM?F;?$%^UCO26\">7?DS2:> M(7730./NI'"H,^B4!MM:#_F>E-X#PKL3O4?LV9Y\(.N:^=U^X#U MDFZS7B[X4@;O7@WP+(O?3,LXSWL/2&R!""DX#+'D\D]("4F1QS#+&,O$6Z$L M3\PX;/R_B7,H;HZ]"P#!O);]@WCS-"7^>K/E9-]NLUG1FN353T&?$Y3>C_KU MO0H$G<#F@ [V[()#>SR[_93GZ6#8QVXE4O_0=M M]K:9!0/9TEL=K9J89W2.>M@2J\/3G:$F.S$];,+PF/3()\Y-Z?[!'^0;N>-J MC;%XN%ZH.Q(IX^>W_I<=W2[A#(E]=0'SG(D501B(?78DZ3/*-$%!FG/&C-J' M6>C@V0&'&@MR3P#*N9[_M!](RL;V-,G"=^ MZVOP3KG?QA =3_\V'\HRG!WNTR@S9<7LLQ#ZW"QX?X^!X[1,HR*$E!8B>#%: MP(*)J!8D),UI$.(X-"+_,I#M.WRIQK<_;S>^W4RZ%Z#7!PB%#*.5 ;Z:4-0N:0[$4?BR$L,N?N'[F(9//;IJ9B-]-_]Q,2 MX#(L,LBCE$$D.4)Q5C"8EU%0Q#FEA.@W4C\DP7,$Z46"YTZF06+703C&0X$3 M(PVW(KU]O3B;#+:#AAJDJYUK\-FY:/U]1-^$.NB_FN491%)HSR&<8#ETB042Y,")^*/),=YA),@T\I) M.3*^Y^"A!(*JDVC@40> T @,\4VT#QEQ5/"QK M\#I\KZ["Q7&;1H/%@<>F"Q7'==X*%",?LP@3UPO:R"X0GWGWWVMU7-I@JN[Y M5H10AVX0BHCC1%[>Q!F2BY&T@(2B"(81)BS') X3_6ABK8;GH+-F]&[X*U_( M6_ASKL[.1%PC;$V"HUET.T^O28 U"):3 &P74[O48?GEK'HEP4^L5_,?LI!W ML58&U&1>/707D"($"_T7K?BB@X>Z9K+(3-[M5Y3+W]$5 U\I?O[G8T4?=RXP M'W$+".<+X2*4RX[R9IR,72U:SN]K10W_D8*U=B_+EN M*[%9DE6U;&>*,2VLUI?:MI*_=7?_R?7%O8G%SBI6-41. M7(NJ#\)^E:G!LV?0:?_"%V*ZF5_)!A0MGZ4I(3&F":213*).HA+F02&7GI3A M$,<)CXVN"@_(\)Z:U8B5HZP#XIT\&T+M'53TO/Q,6\V_E6ULS H:1K&*0RP MW &.(.X(!CF41EF02;V?V(HDYNN,6F^[[9Z4> /*,.F8O7>EI/60G0OOK_%O&_Z,*[8ZV>@CQ>6"#3CX M9S@-2L;$FKO,PPPBQA)8Y$4",YSD2186):/(+#W73A&M;_XY>;F]$NMI6"W) M:S5MK?;*-@TO+&'7BQ4>H;0*(M?KXX;/P^.&%;2]-@,*(=?-LLX#Q%$4LE1B MTO!T'E"[<>O,T6P#FM@EBZ_#VS_KYE]2HKHO^\Z7-^4=E^=6O)W%.2.B L>89&*ES65?K[@DD!0DAVE(,LEH$D:) MT4&@=XT]N_. 5YN\#0@7E :&/?NF>XMZL_R'>C=F0>G,UV)/B.$;*M?D&-[T M?1^B#-_P'R7-\"[8MC'CEVK.FT]XR1_$UFQ&PZS@-"QAP+(4(L)B2-(TD^08 M61I2%L4E,VO+N#6^[[53UZM0B00KF:8=&;=*4D**,BOR*-+UIMW!/;N2$@>4/- )U/>C/1Q..]$YUIEYD(%A1NYSS (K MW]D;;#+'.6;&T&N.?L9B0\ZZUC!XCH+H]7/5TGDM)\=-BP?=/?JI@7R?OJWE M Z' 3Z__ !L=##;Q)^'0V->[1,)PJS\" OC#:3L*(TOMC@1.CC[=*8&NH5L' M!]H/G5$(WQTV912E")4Y#'E"(0J3!&)" IB6"2Y0D,88:PZ9W+G&6_FJ$J&JZ.X MXXJ[+"&?\&#NN$$'"\!=',P=J23?$ 3\_+;Y2,\?H$X&I5_+4H\O0OMOZENL MU+D5+_Y17L>+5>TL023$>2Z<$BOW$.VJ6(@."YEPR>Q:< Z]5S0ECAYM49A(P/\$(L@E!/B;'=]V# WB6I M>@Y19TCM+\!*?R"=%W06=&'M JR,<-Q!>@JL_5)ON%'U(W!U. 5=D]S#K4R[ MV6*SF+LIA\KUE=2JW]>>;NUF$Y'GF+!2+-5X$3*(2,Q@D<2R8@S1 M+(0%"E,8I"2,"XJ2*,V\,TV;)#]YHIDV*JAW@+M>W/.,Y=3TTLXSS<['Y_V( MI=\E'^U\P!Q02KLI?3T@6%X//RRJ_^'LF@D!55G)F^,NL?Z2_O=+U7!VN6"# MFV?QNY_%+7[,]J/I_A.&,!B2A$,8DARD(.<8(* MR&@8Y25*\S0J9Z^\(?49O1'\Z6\2#H96:$>%H<*@6JMC51XT[9NUCL0?XVVY M"-X;2[KB([!2_P)LO=>-XMWG+L#57W3^H@C&5[I[#>[^(?8\U#U/*5(Y5>ZJ_K+1\6/.',>A_(!3 MQ0%E_[9SPW'@?4X&(U)M&R&WR^:%+E]D5JL8>7 B) N :?_W(%+F>8B)487N]O"^4P%__+BZ_V'F^SOVZWFX MO55F?MS) 7^L)#F\VSEL@B./W!E\4K\[;-BN=QWYE 5W\P_^5%TN%B]X_E72 M;ZSN7&8EIPF*6 09+80GY0F'>9 GD">2XSWB-.=:\^R8$-_WMT(JQ$HLF"MN MF>=>L $A\#%\QCW-E=6&UZS2X$XB4")7EZTN##;@-W9@N!U[L04 9NS!)RP; MY08^]NQTS+\GM-_B]3WU6;OI^FN]>+CGS=-G3I;#1KX\13DJQ:(^C.7=0< @ M%I,UC+.,%#Q'(2F-\H /B_$<;J10*%OP B;$NNF/? 0OO6G^?!3,PH\"0 H$ MGQ4 FU/O_BH+?,-R/2CWD>Y6 N-6.EH1'!$RZ6 O8KU1 MX7F7G-8W"8F)<-6<(TCS'$%4T!QBG(4PS5A9ICPO J,6#H=D>';HZ<&Y9MNM">X?Y4WK&H*^8D.H5/>=");B M \VZWR?O"F5;/I^WDBE-$LLX:T UCL&)S@(''YVR;<"8[CL] 48_:DGXWW!6 M+;]@JI(C.O+@-,41RR@,PT!F9?$"DE3\@6D2!#A( L:,=OO[(CQ'GDX@6$FT M(@X^@(O>\N \:\UBD*&AYB3\1VUQ1;F_+V!:@OVC!N[1Z1__I'F9[:\+ULS? M'GY(O@DQVK=_=2GIGQX7#[=TJ5MC.SZ*9Q\3PKF0+F/[2H&M@@_PZ5'F(>O7 MVI[ 9-SYW,)AYH2:2%R 6RX&<''3J&^M5:7MB:$G*[/5,W%88ZOYA"595[6H MEORK;*.TF[1Q^227.?^C5E ]L>[O'#?W GX^8S@E&4X8S*(@%;MP,;%BRC-( M*4E06(AU?AP;47#9Z>$Y'HAO4&Y(FV6)I]XT/ %*9F&B4P@JC0[FLO67;T/M M+H!4#"C-'))?G0>-*THK2RVF):HZ#ZH]^JDSA[,+7+_Q5N[!>BXY3F.4I22% M<<;E71Z-8,XR$8ZBE"1Y%M(LT#I8.#BZYR#3R[+DZ=O&02^,6%MG%ART#3-V M]H,&.'+A[;$G=7QZU>^E%_AF[+; M&MS+')]-:6$6,12PF,@VS@%$89K O& 4EE&9X+3,BHAJU71:RO=]!]@K!&Y* M,% )]#K)'W=:F=R0F8.L<2SH%SHS+]=&#?RA5 (Z]9M.@#2YA?0*J.4%Y0K8 MN@3U -AY#ZR\+^J 72I>UK;O'TE:C^,9;D^ M)\OKA:^G>& M<4*2.!%^'I0I1$E<0ISS +(2\SRE* S"0XPO2JW?(?-,Y MO=O[-5R6GD_\U%DZB,MMWTYN*8P%O;478&#O!5A9#'J3@;)9T4.!#1_\!V"* M\O(:WYM3RJU1?P_V*2\OTAE/E1_M+%MW";VEUGUWP-M:*,675=,9P!>\K);M M(3[YD:]O"P5\3P;7GV[_7KS^]45 M^/GJ^]67ZWO%76588V"-L=ZL-05R9O/,W5H\6,GW1%%UKNVNFH+9JC%ME[ S MP=IK&W;N>&?V4MH,/6!ZHV%6QD$60,0B(C;X8KE?%$$*RRQ%-,RCB'&[/DB' MI/E>BE]>WX'?+K_^>@6^75W^^/7NZMO5=],*IW&X-.]878%@>).Z:18T$.PI ME&C9Z+K+ST%9[].A9\SLH]UU1A\ZC\="U4^W54?IM.#72_XD62B*#$D*Y2+' MPKOC1'@W2W+(,(L)+4N&B5'U\I@PS\Y]B- _"&E R7>\$QO%#8]+W<%AIF3 MV^-@3=@P9J!CNH6#HMZ%+&',Z&-4!Z//N$A#[J_HBX*C2"9-16$J9NX\#"$I M93,#Q-,2%V*K8>;6AX1X=N>]#%VKS(6#Z.AY[[DVFWFML;EGIB1[26LX*.(= MTY+'DQQ&/^L\T_&7IF[;68FR(L5Y"C&A*40%$HY) @K#@G*:ROXBN1%A]2F! MGIU4R0"?<-.H+-[+)_.N RS\D>'(_U7#S1=H>1:P(,,=T2PN(4%A$1"^R,Y["@-(.\ MQ"(2,)KAT&@F/B[*=^+20/#__E]Y%&;_!W"EP+\;WF =!TOS5LD)!&9.WLFY M )?+95.1ESX9I@:WN.GNTMTSBIPVT]5-R'%!T]Y.G#1X[\;@]!/F)4:_M],7G6I6'1D/[-FC5ZFS M._>&,N>KOY54MRMM=[TH)C=)?"4?$G^M%F)[^R'\3R6K&I*>>LE:UX?CS6S7)% MI3 +$A87+" PB$.QU2=!(7F1(HAB'I9(_C)+C>X-CTGR'(U^NN,K-B3I+:T4 MW;&7D+IIZC^%5[5K#I/G7LE_K/_6-)1I#5O#UW@9Q9T;K;J\N^HG&EO]TZ9NW=]=_*!,Y+_R.F\"+*;%Z'^Z&>D.YGVT/:% MM/B!SP*:T20K$614WNL%(8(YRC$D+$!17I1IR8Q.(KQH.=$*J%%B94Y>+]_.%K-V994\+EO@Q?).3N*R@^>BK><5D[SN7UX6C#/Y\?MZ^/,K4BT9 MGO$0(Y25!79Z5?]'>^4N@&KN)\]2 M2J64XHB5-QI7/U_??[XT*)IV]4K& \9[ 6T67UQJ^0ZOP*"8_1U>A5V%^QU_ M%K]5QXJ26'/E *"L&X"[;WVU*8IM9%<(N:\4GJ!X.%=>0@>J[[K,UN\Z_W%5 M'>\8YM&2>5>RIJNC=XS.5G&]Z[&MVQ!Q\9#L;?29O_)Y_2RUZ6F.9@DF29J1 M")(4<8B*B,.\C#!$N @2'C%,4J,SO%%IWM>D#V)QP-<==GJJ6^%D:T4 [S0Q M[D8T J'>*9LS8,RFDY58!7XLG <4E4:=A70E>XX# SWZ2N@M3< 5;A;R5@_\]+5N6\/J>7UX]>*" M%]#,8L3ES:?KHVE)SC((K UVU0%)6^ZTS9%,X=CKFV0\@,6F^6K.Z;*I%Q6] MY^V**;],LJ((4 !QADJ($$MA'HFU0Y[3).(D05F&M'? AR3X7B^L10(ITV"W M=! .C=WGN48:'E5MVV?3(^&@H09[O',-MMVP=<%?GD7L8-#R!SF>J\W5F'VC M.Z6##TZW[1G3>VL/,_I!RP7*?%[_B86.7^KF<_U"EN7+7 0QF???WG'*JU;!/&# MPZ0RLXQ%29BG&!8\01#AE,,-%FL9Q1HUV3S9*>(Y/G4J@52 SE59, MW@!_>I[7;US\0LRO4H^V? -+_!>8]SVUWP!>@M<^NT8F8LH<>ZC2(0#N"M'^ M3DLY:K<@_/ME\=J5474K$_DC\9]E4ZG>,&H5TZ]?+,I55WAIKD4L,3!<8RB3 M.C&.JTYW='=99[H:>OK*TAVC#M:2[G[F/,:E 0'/Y8*I,1IK"WX7CR R88ZQ'AJ/8 M.5U77MLWL!-?L9_?^JZO?6O6,@C31-9%LEQR&688D@AE,"F3&(5YFAG2&(Z+ M\[S>78F2;1/%-]RJ9\$)O/2"DCL4S(*0(0#&@4'/+D>!X(2P21U?S_!=1]=\ MRN+J\IN80\J*SUE_>Y7E)2D)CV&$*8(HS@DD!<]@FI"$)E&6$:S%DGQH<,]. MNY9V ;Z9Y-?N0J!Q4WF&869^N!9D09!IZ=15HMRO6B!)/Z90G6 MVKBZF#QBWNB=Y.XSTUU''M%VZR;RV&?,Z5E4'=Z!CA2:)"Q''O?L^P,F$*RV MIIN.#?K4*<VE)H6&3%67)LS,F824X8->0?.?51:Y:1 M9]XLWV[%RUR*I;JN@L^>TQ%%O>>T4'3,//AL8&WH1/6/=T8R M^0=H1S0?M"V#O>,/E1QJL?R.G_BLR#/*,YR+Y;>, 7)3C8LT@F%1,D0Y"8/8 ML#!]6X!GE^]K0#TD;<\GWGWW^N%2@+>W/5T%*4SC*.H3,,(RFX;$&%>0A(G M'#(4D2 N(\YR-%OP!YDWJ3?O:DK6^H(6W1=T*%__5E)E^&,ES&R.U<5.;Z9U MB8?EB58G&/RT4N$?DA"PPV>C1L\J[&[6-33)^+N O.VJ>0%;@/N?]R! MC2J@TT5_=ZP%SNFMLFM1%FL M=3AFK8'G*-'U%)#I]1)'MID4OVZ2O+KTR2]WIEV[3;'66TMX1= LGJQ4V>;: M&V1^;=3QDP5FC86SGN&F\B=N*6X)SW['<=N!+"[E/HDQ;\J[FC[*C*OF!K'25 2KM4MW$"F MYU@DE9"G]VLUU+&84D3^6*@"I"X&=V":4(X''D\ F84:36QL+@HU03*X/W0/ MEM-KQ693 DD/PMKNPNKJYM$,F-$+2)<9U MM0/#VO[[>K\#]J:LI)T529*P&(KY+G MB/RK3M:O<)A5V5/_H[KK"VY?R>3@71D<3$WV!BS.K#K=5JF/#-S,_(9Q:-[!5C[=-!; MXN7=>Y?RMB$(:]6F]/X1+VZZV*(NY]OKQ2UOJIK->)XAG*0%Y(5LM)LF <2Y M^&=6XB#-(\I1$!D7G$Z@N.?XO6J#H-^=^Q!=C>(Y\?IN%OEW5P)C^W&TIS &] M/1==CI?ERA.^!9?ES5.H/7U)](0OXV 9]93RS983;;.:R>[^LNA:#O0HUQSB*Q78,DQK(5L&S D_, TIB$ MG*=Y07*MBA0+V9XG=:6-VG;=UEV-CV'W;ALXQT.[9Y#,HK,-/MKA\PQ+QR*@ M&'80_<2_-I'/1N(DP>L,*%;QYYPA)MZ1]/&L:R8I\P#_>N;R%.2^EC^Z^HLW MM&KECNK[BSHNY6&2(L0YS)* 0<1BVO67*7%*:!BE25)J'<]/K;CO],"-O'=8 MT)J^1,\+6H^O9O(%[7K)VK=;51G-O3WRC$K^6"Q[-S9=@,ZJ#["DM7P/[[VD M-57[[[&DM7P9SI:TMO(_V@G9E[HI>2447V_/RYB7)(E"6&1Q!!&1#5G2C$%< M%#0D198DA5$NRX2Z>YZ5UO(^XB'+_HO, EX4LC@WBA(*49!R2&3=?2K;%> @ M#4H:FB4L?[17>4[2\]_L9;[WH=E9OO91S\TVWX&_U='9T7?QWDL-"\W_'JL- M^UZO_M7.K;W=7>)N/[]I[I=?J^7O_/E M':?UPZ+Z'\YF.,(X9BR&M&0!1+GX@^1%"2-*RBA!F*+0B/?5FZ;>\R::M2A MAY'.JL>.OQ>F-_E\B-=@/]4A2I!VRW_A& MTQ5QCC<]I^7<\0WW'EV/=X'FE<:?^_S)__<%-R*>S=_NN&1JG04H*6A"0LA( M$D)4L (6>ZS*CX^-.5D%\@FCAD7(ISYZ7M51UW#H'O_%V\L%$__M.C"T8ME4 MY%D>))"'LKU@'"6PB'D&61'D)"[*( B,EDVG!/IVR5593*7D*_Y[JW7/2>#T MEB\NX3!TUQ42G6B@9*NC<&0(SU[<2P92-%"RY;%*O5S4)JQ:8Q",>Z]# MZ\V<=LQP#]7!&C9:%06/C3M9+;"&<<,28)V/FZ<.B4EK@Y)$8)0L8FGI$:I"]KLJ0@8_.'Z4#F#]LM MRK_RMN7\2#N(_L2H_?S"?^>XN?^SGE$6XRA-**19H!H"I["@ 990XBG5Q9?5BOO:;O*6O(/G8<*[TPX@0! MLX"Q,7X3,GZ<,MXX*)PTS)'['YM]C! M'WGX*(*TR./,:&$^(LNSSZXE=YP**]EF4^<85'J3IR, S%QVV_8!%?8I/AOC M*53#/$>3Z)BD2:=1#9-W)U*=1SY:QO-VK>$_>?7P*"_87\52X($?Z.Q0HB1. M0T9A3M,#X8?2=)G5JVNKV"[ R&_1V^VIR\F%?YX=/]#6UZ_\G:<"6K_.] M"NWU%33?#]\W3"A\O6"J8F#F; SB,/$[3 M4"L7/#7V9#ZI:>30274?L=Q^TD?.7B3CQ)=J42WYU^I5YGXMQ3>A(G/>=9&X M5]1XZR/.#)?R@C2!/"M2B,* PR)/,_%/2C%&>8IC9+11--?!@EQIL%FOC]NJ[/>Z2?LLEHE'!IOLI7!B#'#U<#8QRS;L/:9'??U)16[:K'9 M?FFKA2!9CV!BWG-5TU!7+5=/ MB9NVXZJF\7L-5W6?LVBMLZS^ISN6*X6WR>2O+^+[-$LBE%') MF4-+R5 LEOP09S2"$8UXRGA4D )K]ULY0Q'?1V>/O.%8"C1H(7(.KN,Q8TJT MS&+)Z#K_8L-]-E3M BADNVQ1J=Y$&!OT;ID(:[N&+GXQ-^OEX@"HT08OYXP_ M7=<7!RALM8)Q,9[YYNI[O;CE]7=>]XDRFANKG<<\1V8A#SC#*+( .['&8YC-B@M4>:7>LR?9'1XP8[HV.?<2V(F8IOY4W95?X>O.R M%#NOA;Q_ZDZ]9UD8!5QL@&"(,P)1DD60Y"B#-"@+DE"<)V;'H*<$>O:G7KP\ ML^L4Z$_WP4 1TYJ8$PCJ[8]@9OU^U MHOG<>64J'?.%&/77A61:"+(RI#D*819SV6V28DBBE,,\2U% <19E>G3ZXV)\ MSZ#K&HUF)1:\+,8H&$P@TG/N\PTWG&77-J\E@E]';;8N2CELDN.*E!TA[U*. M[*52TJ;%SRWO;K40UK/_3WB M9WYML8%+HM0KH(CPIKJG- +!^1VEGO1WNI\T@N;XW:39,)9!27;]O&[;%\X^ M*SE=$J)*-%RSXJF:J6%[]-4E4A$);6D"%$=%[5A&++"5C,8^4;,+"0I4:#3!W0*K1/#E4X7 M8*45Z#Z[T@M(Q1S&IW-P<16EK'28-E:= ]->Q#IK,+NXM66BS@U\OM'D'U?"R:(W;AD%D"UN! MY@Z67E=@9\'C*,+9Z3!IA#L+IMT(=]Y@9]1I2,XDXS(-^9#OXQ@APJ)(0YES M^A[#VA(SSSY5HC%JI%V%QM"@\PHTU$C3UV<,#3A8GK'U 4]EQNVQ4BOUQ[V0 M*G9+(A1P H8DCR ""67XK%[V*Q M<_\GG[_R;_5B^=C.>$)EI,60IQQ!%-$$DCQ7K9SC!!=YGL9&Q RVBG@.I>(; MG_HA7=Q#5/?BV3].IA?2%C2,-PN'# 'G8C(Q'^.>&A^2F/$86+8,C4?'L\@1 M/GK8U&=0Y2@I0D1SR!%B(CAQ HL@1F))&(5!65!4A%J-G76$>0Y 5J>IYHB- M!Q_7.)@%F#$(3F>EF6-AD(GK$!.[;-L[_BQ^V]5+/'+ 5U"U"JH533-X%@_] MFZ.D6DV;1Q-G3XTQ77*LIC5;";"ZS]@MR5:U%*JTHJWDU^&VJ;_4S1.^PLU" MQ-CVEC=JG?BYFK\L.9LA7*89E]UHRC"!J&01)$5!84E(R%F81CA/9J^\(;7N M *$.4/J ZT4I_[O[XY6>\FJOHUBX +VN[E9M]C@Y6J]9*##I2LT>H-TU MVADCF9]I7_WW\NWRSX:UE^R_6K-D_0./^EY>=2QH78<_L"&EU;PF.V;OZ:/O M,TTU7$$=L])Q4O^(45:'X/\?=^_6W#B.I W_%5QLQ/9$&+L\@ ?L>^6J\%]/CLD5DYD-E(I'( MP['U9@N%#PC3#X@/?W"N\TR/:7T3YJF]>+;I_GEYA8GW>[^IM MV>%S0.[QG=>/R':*VJ,).J+ !@*K'7=<0J=-=V#9V?;=<='Z6Z_!IQUW7T$W MNT;8GPD3;74UB:G$/),P4C]!A-,,YH(&,,(T"FB 94:L)L&<(C3U;JO(@F)+ MUW9D^@EP#+=3#R);;J-:VAU)Y0TKHMXKSA#PM[. %]Y/,^ M]'1ORC*5/$XBF*!40$1##G-" DA3'J2Q#*-,&MV@CQ&:0T_[WUR'X,YMA_VX7M6Z\==B\_#QN=HH=2FWM1'M/8=FXWY5_$OP!:44 MI13K'CN)3N/-$DB2C$#!\RP-),ED&-ELL';D)]Y?NYNWUQ-)L$YT. M(3OCT?$!_E",@(Z3O1*J#K_;^4 O MXUO1K]2AH:S_<:>.'Y4492FV TN5-HMJ4S6=?=0NKW_0?4T6-&,8!32"88R4 M08KS4/G^7, ,T82+(,H".X/DD;>)K=4V<9[L4J8O@/)W'M7NW137%#5+;D4' M/EZ.F85[)\CMS-_Q,H4]/D&/T=[PZH97_T4)'N'R7*W@@[-W*6/P".FI^@:? M)-RL[R5C^EJN4N9<%"]ZP<0SB*(@1D&$.0ZQC:%U8V-BFWK)-L6+5MNNBZF>\-2Q!>2Z[!J::\YL M>S Z F]F1*>'T\Y>=OR '4,7IZ&=!XLHV.3,QJ!L\#ZJW%.W,U^QC- M+ZNG0A^0[XI'P34)=6#^C2P_+\F]:2[=P!(36YY?OMY<]V,N-0>-FO2C,G7, MW3S+;@B2\6B5)S3L#(<-$.!WS8NGF)2!M$ZAJ*%U9XM &0C7#SR9?-Q>09OB MOH_JQ8J[=4?"LK/@T!H3JZA=H\%!8<=USY>#@PK,IH8EX?2TT^OQYTVN5;N^U=E](+&-.>0I1FL80$48A)CF& M&1)9B!A*HD@N5CH37O [^^&U;^D9?95Q\U4^H&H>NR35 WAJ67 ;5GL E)E; M?I;5Y$NT!F7>90'M*V%.39T]^?N9TNBZR"K;TW>QM?UZD4Q*OA?17'_H&QS#%)%T]UR_7O&U)NS(S#CR":C4*^%=!8-W]MN6E' M.(!U?RP:%??%2C>Z )0LZT/R3VH'YNOEDI2]%C)_F2FOS^?7AB$11HD(("?J M&X.",(4$,0'32+ DB[$,8M1^;:Y6_/_E+TTGGI^OC&C*D?Z?^[Z8[:T_ JL_ M=#;I]@IB*RBH)04;)2KXUB67;J6] )V\H!48U!(#+7(O-_4'R#N=X!6^=VJJ M3Y'^/;)7)WB)WA)Q^224ZCP6*QWML.S* M8[+6U+>H;:\$LH;),LYJC] $;7UL,' + MNYH0F"_\:B'N7AC6YCG7(F>IEZNS\ KZ7'>_5%^8MHMO^0O9L(?:Z/3^+M17 M:[59"$13*7*NY\CHJ&V2PURHH[:0.1.AD!('@5T9M"LK$UN5;8]MUB-=@4?- MD&V9M#/:9G[#/!C:F9R6)] G6O9]KFX>2OD=F9DYE+OT7'M+1=+[N[]27G=3XK6>J!'->K MC^2IV)!E?52C;T]SMZ+)?Q7?E2M6,-&,_&RSE?4'FJ!2D(L8!8)"GG )U4\< M8AI&$"-&44Y%E&2I50+;Q Q/[:0]ZG'R_]JV'>.BR3[4&<0[/Z37'^\.![OVY\:R$K=+K3-F:DVH,>BQZRZ MF7#TE7\W-;OS9NK-!/Y!3M]<=)U3FY\?GVN+58?KCM2"ZHS#KV+S3=Z1/Q=Q M'.G4P>D_*+,$TB&$L=5=]3C.(LS13Q_PX3D+&"8^0W?R]+.(9DH/.ONM3YP3-.>[G#T1 M:)OJTX@'E"2[EG*;=?UK]:E^:MGNR[.5\X=)_O'UKMX[X^=L.?X]TGQ\O2YO MN3W>&'*9"[SBOU:B;"= I9F,%3&;F;9[D@^;\_/DL;.O6A1-QVE.[YY,-E-Y765SF\';M72IP!\/ M:Z!THAG%V[Y$';K0_];A(;)Z_<\*/)5K_LPVE;>!O,?$'1Z_N_?$C,-VCW&Z M/UKWZ"?(^7H*H!TRP4) YP0$B81 M2_/$QM$=I#:QP=@2!#5%IZ2^8;3,'$1O&%B>T.W$M_:EC,3RY.\,TYK5)S$2 M^ZW?8/:0P]Y^(\IZ5K%BO;[_J!,&"^U9U&.XVUT""R8#G2HE<99 Q$(&:4(R M*$(2A5DD4X:-$G;,24ZLVCT>VN/'C@M0LV&QHYIA:. ]>$?&3N''07'Q-\S0 ML?!#O*/DYI_G8?@RS&QDG_083%;:3Y'QDJR M/0?'[DG'Z*&XU]^2=CP)YQ%-$1+J\",H1#*)(-4UZ$'*DC03"&-IU<1O;_6) MK5]+JW(O'?D+\"'MOK5Y40QA)^9+GI"Q5(S?0!BK;0&HGI2X2%*LRJT@RV<[Z%PTQ?SQ#23D=MY+//#3HNA:_KSYO;-C:I^[Y:KQ,#N^8,T8V'$&&M8LS[R. MR!N>CJ?'T]);MX)RTE;(9V+CZX3NR,6\9_GSH#HX]9^YG&.;QUTHKTZ%J-J- M$*&4,BDE)(P)B&+U$PYQ"/. 2IGE4JJCA8T-.T%GOHN')OO)MK?C"73,[(P' MF9VO%%IQQWTB^]:.PU+YZNQX@LJ\C1V'13WHZSCR<;>V'S>K:G7)_UY]?V$? MJTW[!;1H]7'L^:E/[MO4P!M=*J$S$7=E8:"M[ZHK#^VZ>AR%8E@7?:%@>;0W M!L"C@IJ(ZMRDX^BBLS;F&!+K;3..P<^>F8CSBR"ZP[5^E7H6UJ^K-=4=?O2F M?+UZ>J['&2B)BF71EC6RYU+W _I JJ+:IA/\3(J5+AVZ7K'E,]>;_*D"HT6< MQKD(,($Q9AE$+$>0\BR (N(RR'F8$Q;9%?:\FRPV&N=4%'3]^*0GT"D_6EEB M4=RO@.98K-@KV.CY._UNDXFJ[T;0_XVU&K[R_\M1*F6?'AM[VY8F)(TR;#:!$4"$4(8$B$B&&1! MGO,TC(+,:KB8%?6)W>6=A0-;PG4%SM?+WQROONS ==];O$#FNA^XH.7%/(]* M/:%)/4W[W M7= 1!K]WI'W&=XQD]!7F&28V;[3'2/"#H(_94\[96W6GID^B^?_KU?7J19%9 MEX6H%B*,.,YUC%;F J*4!S#GZJ>,D3R(4I00''63>,QVQ4%Z1E_O_4D\EH>W M'2WK)*T!F,Q4^WS1G31[VXOKIX[P7_3YPP0*E_2L<1'])6@-T)H[16M<["-) M6@8/N6IUL]+K5[%9Q"&-4QP2F"14MVWA>CQYSF""PS1+\RA.I-5E<7_QB?W6 M,_2U!X",:2S"+-3E+9GR['D$22+08K/>D.7$ &Q)& -PIQ]1 MZNH#!E,KY2:X*'G$>XB1C*:2YP$JUX@S2B&&8Q4A()@A! ;GZ=!S_+T[!,X^\.T/02^CM(6E.<]2-M#XWBQZ=5*,3FM.?\ A,USW M5=N-@/K^L"XW>O+#;Z0LFKB[^I>H-KZL:$%IG; M;L@/Z^\\>-HINBN4+MGP;IA:Y,Q/CJU;9OWU2J[)8[DI@I6N+-^0HIZRNEG7 MM>9_G^YZWD=@"[:IMBWXBRSO*[62\+ M]MK+_@\#C$,L8"AT]XY$'[JH""".PX $,N X,S+NAO0FMN17VQ;@39+$39,6 M\;A>-1FF=H>J,>S,#E(>$;&SQ5LP- HUZ0O0$ >_M_\_25*^H<">CDICU&8] M'AF*_O9(9/K8V5,$/NF^)*S)J% _+T5=RKOB_>$I-^5:[RJO>DR.'@FH)X<^ M:8.U2"5FF%$.:4[5*2KD 2284X@1SB+!0IWUX#A>X"S&)C8J'=WZVEYT1"\ MZ?74YSW^G0X'?4G[ M]W%W#FW91%7]SX_V9LSVB??0!KL-I3]$HL_B!=@R6>M(GTVUY;2,7M33V;3> MZ&Z]';>3S)?P@I__P1/GL?5>$RF\@#DPJL+/^O;5*A_7W\6R[I/;YO-\)8]& M0<"3#T^\#WULVIF"CG*77PPT;?/2E.-R#]LH+R+;&1LW::W*3P8E;:P5K=H9PKMI04S>5P_-_TE^?'W[^^B M;$#=$UP/F;BZRA3[I%J3\\5\5*5-4E:P;K:LNFEOZL6U1\%9O= M^$H]9":B) X@BV4 41@&D(@X@P(SFJ>2YS+A=A7FQK1MOK9.%>%Z\&HSOG8[ MSM8N:&D.HUE4L.ZW-[L!C_*,Q!',&>$0Y32" M1,8QQ*&R?#S-XSB);6ZZ1BE.[/.T]$&/ 3NS,@Z9F3GQ"H2=&>DPF/3NVU@^ M3Z9@G-ZL)L!8_+>J;_Z@F\KK?)I/1<74UOI<]EHPYDF.$2(4ICDE$.$DA3B) MU$\""764D23(K0KU3]"9^DAS]>'.3I]/X6&FQ1ZDM-/=.D5P1Q'\/HGRCHCE M265/49E544=$?:N>8Q]W+'(OVW-$/8>E"3%&:GM5'GRN%)+G2@U#M0=G00QU M9:%(0T;CV*A9]0"-R=-%N@-F/=GG OQ'\%]!")Y(V03K_P](+H(@T/\#5=/V MD#QO'M9E\2_!_P]8K;O?%E7UK%99E^[CC8\A;*;B9^)FI]X[R+XWD+4-E*YK M!#PV"S@ME*\. 4T6WD"X_EV\R<>=$S_U*ZMNR*M^@Q_KWH*;118)&L09 MAYF0(41)AB!-\@P&-$\PB6A$4JL:_N-DIM;8EJC:5U_-U74$&;.M\7QY[91U M*VI+\ *T)+WFS@V(Y"\3[AB1N?/:!@0]DJ4V]&G'.0UZM[U\VB6]W1;W#YOJ M^^7M=_-VR<:+3:R&S>3//@.@X0#\I'@8:#SI"(V9AGI%Q4Y9QP"9H,6YL;2^ MQAV,TIMWL(&I^ _:FV]$WQ(CXJ/^J^;KABV0Y]8(VI=]?E M$FQI@QUQBP;H0P",>\6^9+?<:4^([;OMN8%P;JW/AQ:>K_VY@7A[+=!-/G]F M[RK==*)Z$/SG]9I77\7FF[P5NMVLJ!9)$(F04 ECRA!$N220(AK#E*0\#N*0 MH]QH?KD%S8FUMR,,[C5EQRY/ XB9;<*><;#3Y%Y/J"T:-?VZ1Y1. ^EXF*!? MU+C OMM(#5!\G^Y2XQ"<;#IE\*B;,6@*@7N14!Z'0NEX#B.6!Q!Q)&&.L&XX ME24YX4SD)+?1_+<$)E;SMK#Y5)0Y"KHP\W\=CS2'T462X(LLB>N2+/5/E&07 M:9+O!Z O]+!ZG6&HS//RM7X,9>IS6=H]%F?Y1:3^V3[6BU;O/VMGB0Y>EYG9 M.>$>VL;3G[.I5)%/!:*/?[,%/"_D/(? MHNL,DJ TBR6+8:C\ 8ADSF#.<0)Y2E$"O90I[V6 MXDE74:[N@2)1;%[50\MEI9->]6/>DEY'D1@N'#CY](Q9_V,2[*?LCW[:-3-- M=X=AFV<]Z4(7N[8C#VB(\X D#$91PB&*\P1B%@2/8KF\72^7G]>EKL=99'D@XD2&,$BX\B!2@2'!.(19GF0HE4F,[=3T"(V) M5;2C"'[7-$%+U%(]CT%CIIIG"FRGEK:R6JOD@#2>U/$8A5E5<4#$MVHX]%'' MF[2#JKA=.L-5/>1"B-:KPT&8$+5Y0ARF#"(4A1"GC,",<9'D/&-Y(*WNW8Q) M3ZRP'3';D>7FT)EI[C2 6!X.CE7C]C-<.D:FN(2SEM_7;9PYX7FOY:P!.;B? MLU_A7#NR5X"K+=2=HL@>Q-T?ZU8;HD"R/)42QGDL(!)1!DF>4$A2&6*9"I)2 MJ\H0"]I31P[&M*?E!RB&7(W-.+ZVUL8K:I[-30^P22V.,0;>3R.<:0 MG#8ZYDO8=Z>_*S9+\4U>KWCQ4O!GLJP',]",\#@*&$S3"*E3/A;*21$"Q@D* M YS3)$@BTR[U1RE,;$%JFO6EP,VZ*=^SFF5Q&IAAH^!%7#O5MY?4JK']H#1G M-+@_ONYLC>X'Q>HWO!_^H-LF_U>ALWL$OWP1);D77Y^U"G^3GXKEL_IMK?;5 MM]W-U2)6>[G00Z[4=J\V^CQ49P>9Q5!0EB*1)#@F5FD!EO0G5M66+/BI6+77 M=I:I>K9PRCP3+(T$Y)A&$.$\52Y3C&#"1$!%*%+E3MG,S9H23OO16K/#:>8F M30B2G;WL& $M)Z!A1>=A-%R ;_U+XY9!?[Z2(Q">_"5;ZK/Z3([0O/6;7)=Q M/;&MR\V=*!]U8>(;TOTV^HL@#1-*E<4)<:K,#A(2YF&6P$ F,DH$BRQ3/$P) M3WY6ZZ9J@)=NJ(8L5LH_U3<,I6+ ]H1FB*?I\+W(!#BS0 MW@R2"T VRI4K5OH"%=P5/CJ,NH+A[9!F2';F$YH=&(?',\OGW5/%BDT]X/MR MI4Z"*WV%+I1VB6K!%=11BC+(,ZQ.:3B@$$>9\A,Y2@,6LB2-0]NLL1.T9D@@ M:RG79YD]VO;)6J< ,[,9GF"P,Q-N"#@E<8W(YC&?ZQ2EV5.[1D0^EN4U]HA] M)<;7]>IGM7K;Y_B3J%A9U'T3=TTO#.LQQE>:6%\5 _#GR\N;;2OL'@_FE1D& M@ QKK'\L[)1V" ;/G4'L1'6JV3!8?K;*#7-1^_4;%D]Y:PU8AP4#'(DL13GD MC(<021Q#&B044A:)..=IF NK$,T).A-K];'V=DXS@$_!9+;_>A#>3HU=Y/;1 MHF^"<;VGJ+QW^[VA,;QC'[=352Z*Q56=8?K]D2R7W>(+F49(9"B%*$QRB$B4 M0,*R0'G,04YHJ!SIT.A*X\3Z4R=7-#FS-4G0T313RE. #"NC!S'ME-!.0F/U M&Y%C8*-43S8:IW[8*=JI]691L!%A.L4:^YACI$LLU5_OE4/?D,65A)G.(41*H33 ((,4R@S(0A*61)$G,K2)<(P2GCFPUY.N!%HJF91AK M#"S#\)5'""S#5JWT^BRZI0U:XE/D$!A*ZBLF-49NWEB4H? ',2C3Y\[J3OM9 M\7OUI]*@%5E^?*XVZT>E3!]>?Q;K^Y(\/13LLE0.]YT._>X.;F$:D!BG(#D*M):!C"VSY>@-MS9HZ:M?W#E/VT3T')+\==ITX>8_> MN^= =J(K[UE+GI&22=^F8377B)?;&N9?5VK%NBRT&86BBSNJJS]%R8I*W)0% M$[:O'9GRYN9@[Y%P0>(L"42<0TJ)MJ*2PCS6(TX$"@1/$Q1AJSFW M[RG,U">D'3=U\@-?+Y=$V8LG43:)$+8=H-[SO9M>;OY[O$W;"].19-:&/3W. MJF$(U!R!6HKM;YOV= =WK?O/>$Z!?>=7X3.G]KU$F3])]YU?VM&LW_?FR4<3 M[<-,,8%H+&1*H4!QH#O<"TA%DM?_R5D<9%' W!MJSYVW>-!<^[#GB'L2WAB4 M9ON#1X#L3/A!%^W#U+JI6FE/G4$W1NT=6VP;9\B9/N;0T^3S\E67-I=K*BY7 M_'K%BI(]%YL[46D5V[8WH3@)@Q3J)K]0^; QS%$J(,LE19B0(,Z,O%ICBA.; M@H8%WBZK'/\N^6J58B/[8-<4HX7F:Z!B(]=>+Q6K!\]+(.C= M-"MZ+T6E?B#+WORX:SU[B"S;OL^*K7KFV--2;,0E__MS567:&(UT_H MHK"JL>L+DB4D)A)!24+E:B51#G&*$L@Y$D2PD"%AY6K-P_9/WX[TNN\WCY)S%3H3]28NM%& G!MC)<0%V MDER /5E 3QC_B1[S@.\Y;V1BIM\E#66>%W$JJV4FZO9),I]:5Z5>K3:&MW6+ MMH7Z_(@AU=T! VSYDY MB<^P#?8EM9W%=!#8*H5F3"*G/)J3B\Z63#,F5C^C9O2SWCS"=O;DOP2_YKI9 MHJS+JBZK2FR:)#FE^,I!_:)^72R;23U5I7CCWS8/HORJQ&[&@S1/+,(\C<,X MHC *=5OQ-,D@S4@&62)#3-(TRQ!UFU(]&<\VBN(TW;JF"DA-[&Q'S_/[;!LSIW#7/_+ZWIS8-_ 9.VD2$ M'6*IOQ2KXO'YL9EV=RL:TI_7Y?7J9:V.JI7B5!0OZE HHS050 MG91[V,)Y$]G.HM4DP5&9O8Y['17-;=K5R57G&W4U)MC>G*O1#SNX*SY]J=YO M='N%!1%9Q*),0!JQ'*(LQ!!'+(9)F.2YCDJEQ&@6^]2,OLL-!E>$]5%6\V.Q MV4_YOK),HCQ($A@(77&7\!3B5$8P# 6E.(\3$L6+53W7F?\;O#'GMAAC[?372AV@8=@&(= M]#@%+?-[O]/L_R#OT,(C_T'>I9L3WQYYUK(Q>VNZ+.[K%:K.!.J^2;1[\VPG MHR^/?@;X!@\!4]*?[]PP XI[1XTYZ#DX35\42T)\>ZIO]E;W7P2IQ/=_/I-2 M?%ZO-^1>U+_ABQC+%$5J+V59H!P@Q$-($XY@S!,A:9A)'E!C!\B0Z,3.3$,$ M/)7B42?DU[FR-1- "K&QV1M-0338YR: QF[/:AC010XM"Z"F> $:+D#+1O-; M&W?/%"2+C60"L-PV!4^@V>T#EM(/VG33M>:SSY;2[=E:VV?=+DX_":DL>MV= MJRSH64Z)F9VI;3O8P:F:B]9B9M+;8%0M/ MMXC6Y&>]%'0%Y^T=G_,Z;F;I2CF.FU==O+5>J8VLG0>8TQ3S,"60,.6U(20B MB!&*(4[R+$BD,CUA9F-[CE*9V, T-,&6J./(Q., F1F/L\6VLQ#V$EN;@$&) M/.GY<1JS*O.@F&\U=OC#[IF.-Z(LUOQJQ3_I!M(Q83C+B$Z*U]US\P0I;/R#;KO?E[7R]_65;1-&&>M3@QDG,8IR*!E1.AA$:D?, M9 !)DJ&()S(C@=6V:$=^1H=<,P9KSKI \UX?&UV\H/BSVT@ML3;;8:=#T#(. M,@S8#(U_W)#PM&5;$I]U+W<#YNTF[[B*?0;(C5A?LLTS62Y?;TA1MU6P2/\X M_O3$EN/FZAOHJ )-%O2;08PE1)@B,&P0_ AOI_3GR6V5"#(LFE,6R(DE9TL! M&1:IG_\Q\DG'1EG/M!+_?-8C45]TY_R;];)@K\U_=[M0D&#EY0C9=;0RH3KU1K_E 31,6'::,@+.;/OV#H>= A\@<0$:VN#W M]O\GV:JMI/;5)LF(YKS]C&Q@.&@\9/7PCU#]?KW2C*[+UP41*,0HQC"2<:2; MC:H3!&44BB10APN"PT@:W8Y.S.?$9FA+!U0;\02?G]ZS@GWWGNP7#,0KC2%_&AKGN&*\GIBB[S5F:):'D. [#Q5,=GOJ^(>7& MS'J;$;>Q#&]9,#<2XKY8K;2R4[+4+-F99$,8 ^1U,TTIO2OS,=BC_B-AM.!TML".F]HV.J;J* MZ6,I>+$!7]8^)F>XR>UI*S D.JMEMP/BK:&V?-JQTJGZN%Q7XF[]R^JIT#?< M;V+ -C5/PTM-[,LV'(":A6X0JFZ/]LO7F^M^>L8%J-FRK(L:06D\,.89($M# M8(C-)-%Q2^G=RZE&UI^WL,I,V(,2*\/'SI[.4>>V$+;Y:[%YZ-KB7]*J_IW] M+(BAU:;[5N_-?>A8 '\H'K;#'\#O'1O3S'(0)^HG&>12Q"G"F5URU2&)J0/(NR'J M2TT2,$73<6[Z#A;#B/%9PEJ&AW>ST-L$[8]#@KH/.#^0Q?[5<$ M;=5AP7%,\YP22,,@@XAE&)(D%3"*$T(31)3]-^I?94UY8K=N5X[6>'7+';9V M]ML<2C,S/ E =M:T8P'\U#'Q%QW+>%/!-X7-M!;>D^DSISNK!;.&XZTALE_ MH4[Z1!'/U>/3K?_WWT2E>6BRFQ=I$#.:)YGR*!,*$<44TBRC, Q# MR3"2!)D-)_;"S<1VI^-#'2-[U7_@I6$!-!!;FW1<]HBZ\>7<@<"8E2!AG+8X@R&<,\2G6 (B$Q#21' M>6+="E\M//$&L.L&KS[IT/%>BSYLL\\1R-+\&LGBULR^Q_AY#>SU0O,WK>^Q M?[11??_O;F>XSZ0H?R/+9^74/3UOJB_B12SC=LH6PC+.8T)@GG'=1"'3L]YE M"CD-PC#F(8]SJZC[ *V)U:4F!6*[,]D0-&:G,$\"VZF3)@IJJCK14-.] *W\ MX_/8K,]:!B)Z.ET-49KU/&4@\ML3E,DCCLT(2*FSSRJU*]9C'G?_WY._CIR[?OW_\" M;JYNP??_O;R]LFQ*K_A7\BA,<[A.KS"Q1FH2YOE8 X(.:YX_ M&>W4KD<3=$3U5LJ+EX(_DR48E-\JSVIMGTQE\&G'/'7. MZR;*9*GK(*]7'\E3L2'+14(D0TF$(1$"0<28A#@-$129I"A->)01JX*B$W0F MUL0=5?"DR,)B!5A#V#*-^@1*9ENC!]GM-+0G=EU#K,3^."*V?5+TL%"^LJ!/ M4)DW[7E8U(,\YY&/.RIJFRE]0U[K.\U5,VY'_;I\WFO(^K%IM+T@/,AI$$60 MQUCGDJ0YS%,1P9ARDJ%$(F*7$V;+P-2JW= %XD]='B^JNK'XNAZ3U;4:=[YM MM,8Z)Z&43(0PBW&HL!8,8L02=980.9)29.I(L=BLU;?@!\!ZR\:_)]:&-G=" M!"V-<5>UTK)2@]?.*F7/-GMOE6?A?E2\'$Y9]%M8@CFF12*AL?Z(:N-%(_X1S#B,4)BVD8$2E- MK/TI A-;\Y9DK1LM5?"[IFO86O$D+L/6PH>T=M; 05!CA1^39DBAU;,]95;_ MVBGRR65G4=0QH3I%'/V<:X_ELG@AF^)%=!G]^E*A;=F99G% B$PA#I,$(I)$ MD"0D@ R'822S(&*A5=K6$+&I+\RVI'>E)V[=30<1,]N\?>%@IYI.$#AT/!Z7 MS5MWXP%2,W6Q?U5;.C_H^#:V8$O$)F9PFF0C-.;U6@8B__6#8JO6D1W1N:M63P;L(/:QO-7=$A!_ZLH[A\V M@E^^*(MZK]RRQ\?UJK[PK7KW4]NR>QY0QC*N+XX2 E'$(YCGF$ 9QXDZ.*49 M%4:-+AUH3VS<.F8 :;C10_84.Z"J^0'K'4/_8Y'T; GOL 6;�[D[7%JV4$ M-)PT.1L5Z%\H&S0X./^+:9XLN=&S!^=H)#8BSUS]HZ'/NLSETCQ$]L[07CP@E2A@.$QC*G$*$HP3F M28:AQ$A()A,<9]AV!LBU? Z$N_WZ7G MSN$:7_W^@>@,H;4$3RTO]5VWZ!BQVXHL(#8S#)X1<\L!:'G0+2M;+D#'QD5= M6*WV,0W:U2AHUG;#7GY/5L2"\*PVQ1Z0MQ;&806'X%N7TM F%K6I#MV)*,U3 M&N$ P00ERKZDZC]Y3#CD(J"9^I_,(V8<:QLD-;$;V]+^[SJ[T"($- R/0:S, MF]!VMJ#+ =HE!7:4QT^1MBA8Q+V\H>$6YKH53^JOM8TL=@W\ :'KYPVH&M[Z M6:A/'6;5>LGUG#SU6U"*IW59]S_0K: VK[[Z'QAA,Q@!&UYAOH"7D21[\2VS M)^S#69\5_^N5<*ST.O[TQ);*KLKKA(#CD:SS9;,\PS3TIJ[L&A;+*:QU8LG9 M EO#(O5#6R.?=/ .;M0;+73+NV]2Z:0RCM6=8 ^K]7)]7XC._D=!2G*1QS!* M8P&12#C,!0\@8@E-L8@Y(>87=.V,BUYU58/>A@'7UV"FWK-_I_.*CQ6 C*A*"<0I%2"1'B$21([U>8 M9C)G&$N:FO5Q?A?^'8)%=I9[BH*R]WG3!EO"#_GVO.7%]OL_]X7IAI9WX@ E M3[_0K6L1W=6[[?_ML##N1_X26&Q^/_*7P6TC;692ZYV3M&^MI[J /XMZA$FQ M OI4\2I(J>QV]RM]3%_IX_T2K+=];]DKTQF-A03+]>I>E!> M%\5LJF?(!J4 MJJZQ!EP9'U_[\GN]F\$]?G:FYO,7W@OO/=_CW9AP; -0<]'50F/"8Q8''+* M1A"%*(!Y@I3;0:.($1PR$<56=>?]U:U.;_9%Y7?ZD>UV3VK*EJ7C>UB8W?\X M2VBW4S9DIBCF/L:_KTKMO;7G+<,^)M9!C?71#SGF&!2K8B.6Q8M2Z+ M Q4/%UF6)A@E'-(@5.J512G,@SR'"8J4WI$P"XA58I )T8EC)@T+L.8!%%LF M6OTS3%>V M%,+WU#8QGT;%#Y4J.RH__6A_68OF$AKJ\T#A.2\Z9S6(!PD-9A M\ZQ]CX5;M6+30" )$YESS&!$2 )1+A"D),0P1@DE:1#EL3"J!-U;=>I+5.W" M5YN"J0WV%T%TSDO=0-BVH\(.A6$E=I;-\J[432RK_@D'8IS1-&&WUFR=$@[8 M[[='./RC_47=QP<]-_VS3JGZ)G5*.U_=*U_XU]5+M>%7_]R\7OY1\NKGGE3EG\K+9/3G0E,K%-_4R=7J*]KH/X)?'S08.K.:KVD/QT]5K9'S[]J)M3^ M7)+5IMYHP4U9J'.O?K8"=P_J)*O;E?8K7W0(3$DIJLW 1N/Q?8Q?/<[R*NQ, MP*QOP7,>_]EP.MV*NE.=[>+T;&#Z=ZOG+^98%*Z+?#Z02L]L>-11[3J4<%F6 M^ANJMZD/K[N/M"EC]??SVU,]G.;SNI2BV-3IJ2M^]>=3T52M5XK+>J+#F]*B MJS]%R8I*J&\T$XL\3B@5B8!8LES7E1.( XHA#P)"4!BQ-#8:T_!#2#/U$:CA M3>GW3\HB\/5RJ:W!DRB;^LV_V(Z=?<_W;G:X^K=YFY;^H.89UDR#OF"@)YE. M!NM_KI6NV1HN0"O@!>B)V*3>[H2L]XU:S MP4'_9B0IJ67T.\OT!7IFWF<'O M*8XA@*GLC>^Y=2$=/! MGL_J&[10+@(5+&.0(**3GB6%)(YBB$.91")E46;6>\V1_L1FX>Y!X4HT08M, M*0<4ATW"#-C8F8B&EXNW8[4O=G.UP=T:?!#-H(R:J3H\"#1;TR)ID34V+:+G MYGTM:^[^LP+/*UY4=1]T98W7=%G<-^=QW9*N&0#_U!Z_]6]V&5_-WW2J6/T% M5G]]+CUUJEK7AVZY?*3R:$((2439MUO1JZU[F&?A) ;BL MX\9/RD4G[.$OOI+1W%_Y8#J9P[+S)82YR[R7TG7&,F4Q-;7$6LK M]@"*Y7HGU<_7FRL4B&'E$YO%D M!'=Q[2S5N9+:M?8[*I1;4[_]I>9KYW=4A+U&?L<_X>9J_;Q>\S^*Y?+SNA3% M_:I)!F:O=R595+R(&:%9C$+(F" 095Q +*(,1EF0A2B4. V0 MC=-D3GIB9;Q^?-*S2?2QI&&E/;.P5[#9,0,(__MSM:E;T]AY.Q88F_DMTR!G MI]<=#_55;PU:QP;H\7$!-"?@)\W+Z40 :X_#'@!/OH,%X5F] 'M WN[G#BN\ M3V)/=QNZO2VM"U^N5QOE5E0%JWV21GY?I5"+ A?^[5H>O)[^O52K#:.NGR<^4KUZ?^5U#I+(7& M=2;UW]UZE%J_);,-8E+DS^E?>@$4)Z#'RL5Q,[_3*/]M3%U!\=S4U)J-=VEQ MZ@K6J8:GSNLYM3]]+)2XNMO@NFL[6 ?BJLV;+I=QD(LL"1C,\EC?E; XE1R MF&0YP3R*Y6ZQ:0C;2;M5TM3E;KUI*^*8-J^W3]K<2 M-T*4/Y?KYZ?KJGI6%NNS6O[/S0K-:F M*9)C$(S?6'B2WM(W&Q <_*X9 #4'GFH:#61TNLT86G>VJPT#X?KW'"8?MU?# M[N9D19:O55%9Z^"IYR=6P%.79RT;YCIX4OYQ!?0ANIWVC4@]@0*.R>BD?2<7 MG4WUQL3JZ]WH9SU,>2XVXLNQ7B/-,&&9\ BE"84B"3!$F*00BP1!FN TQPS' MG-E%[XU)3WW3^*85CMI+^IURSA_:/(RK801]$K3L%/],H,Z;P6PD\Q0SEX<) MO]^,92- !FYEMAYOE>9+D<9C"- L91+GZ#Q%49# M'F6<6DTB/$EJ8L/1-77MA6 M>XL-H&1F%OS(;F<&>C2WO?\F&?\V+IROD82G M"M#][.HF>VDD \I3 F-E.I3!H!ABRB@D21;)/)8\X!9] M#$Y0F=@\],E9]QL\#P$_+P=1V.[2&U=PG!G;ZO:OV MOVZEKA/Z+T!'VI/\%ED GG!PN_=WQ\/NWMY R,&;^J'GY[N;-Y!B[S;>Y/,. M9NKC>J47[0T4>;T5;0.%;[+VBW05HWHCR[K#[>?G%:]N!1/ZX+*@41X$,D$0 M)RF&2-( 8D$$9$@RA#G&"!E%'\YG9>H3AR8(I*8(RI:DA7J?A[*! 9P-.SL3 MN6.KUPIERQCX)D'-6C.V2S/7M%$&-7O@=FZ@+2SM;("?W3=EBWNYFZ%&2K5Q M*T/=]"+9O23=,:7O5584.JA^OZF M)X[ZF6V4NUE/PLN2'$6AH##CN=IUXC2 1&98':()0Q'3DS2V@R_O##>?"?@T MTO+]JH0[^YUIQWBMKS7+^J?GKK]\N>6^K4$@=<-Z"Z,ZQ3LTV-/>ZY6X3C3O M7H/:U;;-_1M^]:]V'(.:9>4D@Y9IL.6ZW@BW?(,=X^_\MBPVQG=^:V[;Y7N] M/;L-C.MYE.B-K>%CLE';?H\_;(>-5.0%Z$,@Q3DH4PID+MG P1 MF#.20L'4 DF<9#)+;48Y'E"P.H:YCG/5#7,PBR6=)ZQI;NAH3 MT3I,?%(,3X'AP_5G#06?%.]M\/?T!^T3J&^?ER(,:!)>EN5=^;C:\,]+C4N-/A=<^ I<7I8 M/*>TZ1-+SI8T/2Q2/V5ZY).N>8TKM;]^+ 4O-HN$9#F-,8H+0'5,8S4QVZS%'@:&EZ".DEG>>*Y7]U"K$NC$ M^S@LGD-*XJ$TO/G'9X*-1AHN&1SYS92+9IC/E%O(AEV%:<1E($F9[I M12.M41G.8!Z1$&8R(@D3N0@2JX2$ 5J3)R,H4B!T;,%Z!!HS1?,DL&7P8=OX M]*+M=JJS#FKY/8X7M!#1=U/2(Y3>IY_H:9%/M@(=>,0AGJJMZ]?U1K1?RH!& M :.C$1]RV[P_/E?(%JB9+N!D34-V4Z\_ZQ=PJ*[-Z%@N;KUZ=M?GAKZ-AMZ29PF6WMGB&P M,S =<5WS2_5)M>XCJLB#FC[H:6;_UV.066_^%B!X<@),*,[J#%A \-8IL'GT MW+JAHZ6%M^NZF:F^ 5SD88"Q'E"$41) Y2VD, ]Y H,PR?.4922/K,;YFI.> MV+4PJ([Y77,#6G8LTY(M(#8S+-, 9V=?_&%V1EV1J?C>2XM&";]3=9$I(*<+ MC(Q7.,\9Z>U*M]LTHVNN&S;)@AQ4-NT/1E!_4[XH;PLH^W]@]9RGZH:\UJ7Z M(8UB)F@& ZQ;(*14*K>&J-...N=D) D2&A*[CI.S\N^0$&)G^#IZ>@*6)NCF M*Y#=SF9V!'67 M]B83ZP*T1/U9P!&I/-FJ4U1FM2HCHK[5_[&/.S>9TU;D192O3?\]. MK';;-FO+UV:*P-OI QTSUFWF]A$85C\?PEOJG:G<_AI.C0EY3G^Y_07G[BUW M5)PC?>6.?\ZE[%0\ZNG7]Z6&6@^@^U3HU$/ZK/[9]:[F.$91(F&$L8 (L0!2 MF@=0$,Y$FF69,!L#8TAO8C7]=O7+?^\XL"FY'$?*X(+)K_QVFJI$KV>7=-3K M.IT>?9>[* -4;.I1O:)S=COJ,MFC_FYOIW M!XFF5DE;SZ]BTYXW%D&($I3F#*9I%.AKL SFF.4P"6,9T" @*$"T"ZF$"YY> "K$1=JD?T['*BWF1=Q=?DE0%=A]_4 _T'2E']??\/%,47 MNBKH2<\I>1%+0P?&"'&SLX0O'.W,Y3:@O@P$?KM"<3H&3>K\5%SO=J435BCJ/[Q0:S8PR,I__%I_4@*/=L( MIU&($Y@$"8(H0Q+B3$:0"Y0+(9*84:,N6:8$)[8>>^2!I@^V#(#?&Q8L;\%& M(30S!3Z!L3,'YV%BK?:F@GI2_5%RLZJ_J?!O38#Q4]5T0[1;65SE@UA\08"#FHQQH-5#_L%._H8K,HV9 8G4(- M?L9G;[LFIH4QE31)",SJB]I0"+5](@JS*)>8$QH;-K@RH#6Q:LW3T\ZF$[TG M+.QT\ P8/+6QFZ+/_!"E'Z!]W6 G>9-'')UC4CU\5NA,(H*=T70Q.;B.^_WMQ\N?KEZNO= MY1?PZ?K[QR_?OO]Z>P6^?09?OWV%'R^__R^X_OK;U?>[ZZ\_@\NOG\#GZZ^7 M7S_6__IX=_W;]=WUU7=+[_O<=V3HG<^(O*7WKCLO:-8NCO1A("?Z,( =AY,T MS/<%EZ\SP+GLS'M&\ 3>P1G"U[K. F6F5V\#.,H8;K] M-LV"%"+$,YB30'E+,:(Y1S&.(JNA/H/4)K:#+6U0:>* ;:E;=F<8!LPXP.@' M!NL(8XU 31?L"$\311R7T%\8<8#6W''$<;&/!!(-'CJK>:;ZJ2JX: (5O3RG M]LJ,TB1*4A;")$DRB!*908I"]4\A1\.>_#>>- / L,?D MR&+OT4[23+X3G2,-'W9SD^Y*=9)]+E_K_EC:2*]73?.L19I@$I$@@G&(=)F2 MB"%.=.9_(F(2Y8*SS"J6=)+2Y#>X#=VF"^,%(/J;76WJM,ZF;:-E/N=IR#!/ M19PE'"8L#Q5D*((T" +()",Q#C-*XFCQ),IBS;]O2+F9$;BW5.WA^][ ]T'< M%RN=H0@^D&5]=3L!D'K3#E*$82C"1.W;3+GG8:1PI5%*0\)SD8L6R*N58"B>6MPALH&JH7;<]'?X[ZJ&B>G/33=&9UT$?%?>N< MCS_@IR9@&_E"6HL.6 O)-PF2FP#Q#L]/>P/&"2D-Z88!-5"+Q/"&Y,V+$: 4\A ML[I;ZC/;/)=J\1OUUNOI;'DFDSQ%1#DU@3I#1TCI;4HX%"(@8NS7ST;J\WR2C@A/$P#R'&@=M,L19"D)((DSD-!B8R3)#8=)WF* MR/2!K!W99BB;94[<($+#:NE+;NOPE+W(5M,EQV0Z8[CDR:5GFRTY)EQ_M.3H M9]WVR)]+Y?[=E&M9;!8D1FFUK_95GWCO4 >G+QW6Y*?Y5:^--'411ZB,1#40.49PC?2#46QB. MH&!1B!"->$Z-'$LC:E/?P?8(@B9(9'&[, J5P=V+3P#L=$]3!CO2%V /C!OO M8%AUJY2QP[*Y33(4=O$89762^ZQ-3>?:N38P?HLG44I$81Q&L96 M?9TMZ4_MP;?T !=/ZZK8-(6=7$A1EO4$+(>^D;8(FSDA$^)F9RP[1L!/'2M_ M <4*=-R /Q0[H./G8M>?R&?;-R)6[;TN=R MQ=N\F]Y5\2Z[[D[\N?F@9/['(HUDED8LAE'=_GKU"5S]_S=77[]??:_S@+_=_>_5+?CXZ^WMU=<[\.7Z\L/U M%X=D8%?DS4S6#'C:F:ZWC=%J8]^EWO7S:_K9OIHO4#/F,?)X)C2>JWQMN7B7 M F!'J$[5!KLNYW"._*W@8KU%V M7K3](M@=$4UD&SP>#BXPW]'01(Z]8Z'1 P[&Z>I/)JI*US:L%.RO=PJ\ZF&] MY(M8)"A/> YYFB3-B"Q,P@3F491$/,AXEA@U81ND,K%1:LBJXTE+%VPZPA9J M>1(A YOD0VX[>]2*O"4)[GR*;&&%?(CN9H$<(+ S0F.B#1J@DP_/9WS&^-\S M/*,?]C:,Y&3"\$K4UU\+E 9IR(,8DC!0)BF+!"212&"4Y"0E(2,BM4K 7@O2>C MF$)D,"G%>*ES^EELAP+7E?7;V-BO*ZY.D_K(*7AC2B\?];\6,18TB3F%N0P1 M1#2,8![J&T02,Y8BBF@>V8TD<.+#2/?.&2WPI?; 'I_J3M1J1Q'JL[9C2YT M-C-7TX%V5KN,W1COMG'&EJ<+T.<*M,Y.PY?O5AJ.L'AMLF'+PSNTWW"$Z7AC M#M?%7%K^;AY$^G4L/>$R#9=>L\7W>LX MR76-S&.-S&/#D:]2SQ%1A_OQGGAVQB:\P]SO=]X=^:SC[.BN8\:N*>>V=^KG M==ET3OU2-YW=G3A"R@DF&8,\$[J"D^60YDS"E&*.XBR, [LVO"Y,3&RH=MUF M^LUE3[:5/>/(Y_0&S)RHJ7&ULX^30&H_[/H,3'Q-P79A8=[QV&> =# W^YRU MW(Q:7;OT0;EIO#_GXK(LU==1Z%VM^O"Z^\P->:U3NO1HC&]UT[7JZD]1LD)Q M=-UF=_U5%/[?%%>X+WH_GY3%DPL\CSDF"M+F.EZ8I1G$20!SF!($RQP MF 8(6Q6TS\O^Y+'^AE8S[HBOETM25LXCCV9^LV9F]L=]7W8&NN81UDSN#XCI MBP+H*^A_L!6GF2RC#\BU1!=@*Y/.0FNDN@"=7* 5;/LI4(OFS\J_SROQM#_, MS/RL.\O[O)BW>]([<>&VFWU=UQWN!*]K NF?JIKZYNJ^K;373-H:)<*%B6" M9BEE,&$BUF%,Y:+K8B*197DF<<#CP.I.QH6)B7>6[^Q!\.>FD_2.JZ;]0V.. MJJY5I.5$#"?$S?:*J7&TL_A;;@X!;!C: MAV!0:3I-V= XHGF^O$PJR6\QR0 MWMJ_L]9R#C2 X*U!_C.?Q!Q[!4Z[!^D]NTK;9G M[1M7DL1A%DJ.(&>!VO4R$D.<<@&C. L9PDE$L%&.IRWA&1WV+2.6\1]3" TC M-Q, 8QES.8;)MKWTI%ZWK?"^HANF9.>-2UB"<1!1L'W^G2+;/ZM/;LR"GP%F M>1S'&90R%!!)2B'F0:3>*$^BG$@<X6Q[5^)]QBV PN.G5L?GY;K M5R%NFXR@7D5G-P2$XS0E),IAQC*LMIJ 0(SR%$J>)T+D"1;(:L#4*,6)/=VN M>/D/A633NX**E9#%QG)TRCAR9N;<*QYV1K@C#;M\L![Q"<:H&$OJJ\_K*+UY M&[Z:BG_0^=7X0N#=3G4OSS6:S8:]M8D62,YC%1'F8> MAQ"%&$,2,@HCS',9D9AQ@JR"O>,T)[8#/<)@2]EQ/K,)@H8A7K^XV-D#1TCL M [;F0OH*SQI0G#<8:P[!0>C5XE$//:'5/T3Y(NZ41U(M&S^&__VYVFBRBSS) M&(]D#FG*E'/ 4P&5.: P%TF:\Y!%2,9=1E*F.-M9D3\PN>A%77+PP7XW.+WL<.O MQQ;X67US0=-J?Z*&U2983-'$>I#N^S6V-H%CL-FUT0)N-NBF7#^)]UAS)1G)@ N,]*&$0(09@20/*(QC'I$LQSQ+,AOOQ(;XQ&[* MS>VWFZO;N[_5/:RN_K]?KV_T\%L[^V*%I9F)F0HA.RO3<7%1-[O?U*>Y+2?3 MMZ1R <&3>;$B/:N%<0'EK9%Q6F."2N0V,E-]>A:+,"0RYDD"$YKJ\51A"DFB M$U]H)DD6!Y(%J4WC;U/"5O;%OBOXG7X$+.OVE$\M58^EQGT$S2S+%+C86163 M@N+-&E !;DCAH4&*J^1SU SWR?XX9<)'P+"J##[VO..EGT[-T[U=U,ZNK=3F M]>MZ(X[MJV$2Y#+.E(\BN=2%>>JH%)( !CQ.(\98$#*[Q %3RA,[*-HGN?N; MY:6:,6J&5V)38&$92ZW)3N1H6,OGZX[(F.Z\-SRVK8C*]_@ M8*;6YTAGI[V-8#6I\;X #F,IC\OA;1KEF^5G'D)Y7+C#V9,G/N=8>2,VURNV M?A0Z7K1(*0H2RA#,U8D?(BP(I#E6FZN@020CP3%E-L[YWNH3>^"*%OAIN3=@ MTK(D9@\*Y4FD.4M"2%""()(AAR1'#.;*^R IEH0E5A6O[E#8VQ?/4)A9&65F4Q;T>5.G$:H#Q0WQ>]]Z5#!?-3E[:\];;'-,K(,JFJ,? MLL\[OROY95E>_?E4- W0/I&-D9=^ZMFIG?$M,:"IF2G/23F']<>'B/:[M#Z. M]Q)I@*G$5KGU0V(YI=8?77"VS/HA]"ETP)$62Y01F7(_&Y%D*24@R&$41"FE,6$:)=9^'Z?F>V!QL MTR!)FP9YKSD 7+$ I.(!O&@FZMS8=9(?FPM4&U!@18)U#)Y3I.=[R7X3)&=@>OYTV/G>Q5'4V-G).\X7ZG7!>G3 M^IENY/.R&X.RZY5TJPRE7)>:NT4>QX% F, TS(BN"\L@240.>1"J,ZG$(4FL M(CO6'$R\E6P' 1DV"-.N^> EX:HU9#?2=Z%AZKWR-3V!IBWJ<7G\C/S'&-/\!U.-O:UL.=,\*]BL^"2T!C' 61Y@"!* M(@*IE +*#'/.<19RNW;G0\0F-GP=Z3J+671T+\!*U-:0,/;\^-S4:7+Q5 I6 M-,JH_O8?^"()X_K!_\@O\CBX (J0;K^EWMC2LH_+,-Z(95B(&,8\CQ3>@D-" MN( BP'FB?D=B3&TNVKWA[7;O_G04/?48]XF>VMOC"PVS8'JPTN@*(]0VE!3\*I2PDTJ1^C M=* GM'&I0/\9QRB*N-<+W8HGW=!N==^;H/)EVX(N(R) '%-E 9,6(!P$!2P>=9#W?3'!U+>BVJ!8AHIQXA#1A#6'BJ#!$493--8 MH)1@&D=6F0G'B$QL$/:+>=FZ.JO N0/&3-//%==.L_?=3TN"BG4672O:_;SYF%=%O\2?)'%2!U2B(08:76,10CS M- DA(CB,49!))JQN,X;)37YD;(F#2E._:-)U*D"V#-0)/LHU5?>2-YEL]HFZ M_2>G3J9H23DEZ>Y).*R&YPMGIW;'$G3-9'5(SSTFTAG)N7O+S9R:>TR4P\3< MHY]RVR2[B=^]&>\G)G[WFQ;>ZI^^R6_/&YU97]6)5O];W#\L(AQ(DLI(^;@Z M*ICE.:0\I##/:,CS@*4)L8K"^F5O8F7>XT?7T#?9/(3S>I(Z6=KMNYY?C=D^ M_7Z VQF8CD_08_0"[%@%>[Q>@)I#'2'O>+P OY _B\?GQPOO\[^GP="3W^"9 MN5G]C&F ?>N73$3%]1!3K,LF ^%6L"6IJD(6[$V'I4^B8F51;PD+G*>,)B&" M>80H1(SED 0D@AD*XR20@A%A%66P96#R",0^#Y;Q!VLX34\WTX%D&[?8)W]1 M9U21LNUW 7;L@-]OULM"W^=/TQ')#1%OIR-+\C.?E]S .3Q!.:YC9XOJR>8W MY%6)N+PC?ZI3VHJW_VP[T;;%_'KJ%T)) G,I,HABGL.<2PSS).,TETDJ$Z,K M$%."4P=5&I)@HUFH+_F>VM^T;9+-;(\Q?,.V9@I0+&,IK?0U=:#(@^XW+0/C M'1/<@.%K]JR_RO4W>U: ]BC[ ^I\.VLK;&-7]5.UL0S2.*@-IO$ZLQA(6ZDZ M@VC]W!G9]-5U53T+7O?<5[:W_MV"!4QF-*$01U2HZ YPFNBO\]%<.>A0^,R_+"RAV)J^-%C\XP'Q+-9[KX43KSYWX/B7LTD7OP ?LPL7:,+]GFF2R7K[I_WV_5ME?$KNV8 M8>#89*W)HT_]RHF6E[HQ(7BI_@OLNHZ8AYF-$!H///L&QTZ%C7'QW++-5G*G MB+41@=EBV#;B]J/:5L^Y;=W?5N*NT,N5CVU,YT,[[*7S,5D6H#",84(E@TC@ M&&+,,A@G'/-(A"'#J*&]!C!WQPFG8S"J39 M7NX3'CM[,(C%!#W?3"7UM,./DIMUHS<5_NU^;_R<:S$6*W4?V$^B^?_KU6$1 M[B+#""@A%GD$.98!B7 6133M1EJ8V003LD9?_/U!%G:6H>EP M2+JZ\W)+V;9ZR@!",UO@#1;'&JB&*OBIH_\7/4#P2&&^SPHGD5Q]C GI3Z!-D9E;B86$/ M%7?D\^=.;=]+)+U<\3;^]U'G*M=3GA=)3FG(I=K23V]9G6*!I&+J;!B,[.^ SQGSVHT%]3ZR?9SR M.TUM-X;D].!V\R7L# D7Q>)JM2DVW43X;7G(]PW9/%>+$$E)LB"#*0J4Z8C5 M_H\Y#6">Q") ,I1A;)1F.D9H8A/1D.Y&NO8*EQKJ9G9B%*QAH^ 3 CL+X"J] ML1DP%6T@V*>6:-1=_;#3\M&%9U%I4_$Z_37^O+^133ID\$WJA*V2L,U"!#0+ MTS16+CK6AWBEP'HD)22Z=IV2@*/8JBISG.3$"KR;1=2,:E)+/)X_IND-:F:; MNE\L[#3YY&@FS8#.\^Q8F'8JTW%Q)YS'](;@NT]B.@Z R0RF$T_:68*JW"Q^ M(7]?EQ^?J\WZ4:G3Y9]%M: 2RJH_K53OQ.+SJ)J MPP)U:C7R*?NK\+K=6?5QN59JN?YE]53H"4C-^<[P OST"A-K2T,8U)1UW%9? M&^@9&K]\O;GN#?XT]&Q'P!A6)W\XV*F5*03^3KMFDCK=: \L.]L]]KAH_=MK M@T^[N;>==M=G7)WK_E \=;>L44Q3E"(*,XPBB$000QJEZDP:,I*E62@R:I5P M-D!KKNVN[).V%GK:#:_#486H/JT?2;%:Q$)PF7,,TR#%$$E!]41.!D.<8QYSEN+ MZ#)HF,S46VB/,.@H@]\;VA8'R &Z 32&5NN=H M*C(2)A$6J55W@7&2DU_8-@PX#KDT@,QL*_4+A)T.;S'HB(.?>N1!2]_C3FLN MK+=.7*,$9^[+90K 89WOA5:N&(I]N9YWJT_ MJH_EWCH/E[KM<6VA+FG5W&Q(F401I0+RG.KQ@'D*IO@)E%_)'>JV4T<%?AKU[8EMU^H8OZO687 M=/SJ5_?3K]U[W!UU6K9?+T"+0=W,%/S>">%S -5,>/N:5S4UN_..MYH)_(-I M6'/1=4PJW*B-37/W37XN5D0Q1)8WZZINYK0U)U&08(%H##.)U0$R#"4D*8LA M8IA0AA*"0FF536A =.)-8XS-W=6?@CWKH4(?E56] M7Y>O=;J1H2T[^O#$AFI+$W1$#0^FIZ4=-QUG"VIG%PYE])9I-2J-DYH>7W$V M'1P4J*]@PQ]TZ*9V^;Q9/Z[UBNTVQ&*$4$HCF H:0)2%#!*,!12<9D$2) )) MHZGA1U>?.HBDR/WWU6\63;\.Q!]6I;.%LHR@;"FY-#0[D,VB>]DY,KJU*KO5 M ^2J.OZW(_Y?GOJ3G1)GL!G9P4/S=1X[Q>]>F[&3'W),#=D\B/+-=??5G[IC MC0Y^+%@:9RE/ XAU.C.2/(,XI$*9"9%&49:3+#+*T30C-[&AJ(D#7KP45=T/ MVV6"S A>9N$#?RC8698&@,-3--C 0_2#HQ>\IY M>"D3@E>?%;.ZCYGNS?--?EFO[G4AQ"=!-XL\Q3C^O]5]6V\;.;;N^_X5?-KH M <1]ZL*Z[0$VX"1.;P-)[.-XIC'(@\"KHVY9\E1)3GQ^_2'KHHNE*I$4678& M&'<25W&M;[&XR,5UPP6!-$XP1(QBF+-"P)BF5_1AG:_T84@T-BTC-=&Z:QQYBN#8 M[2,U!7"DB:3NF^;YQ6T.Y,=91?%$V6]A6D(TRB4]A MLLHB[AUTM SB4[!VLX=//FNW&]]Q^GVQG"_OG]_AZK"5>9=D$2:XWH%3CE7. MOQ"J9W,"TS#(6$:"C#"CFH!:5#TOU"T/9GNQGL3TMF/G_G<2D)U?>&:T&X)VK,KVU1K"+,P[P0&8R0D 8\0E*'!(A"PK,@2@7ER.Q0[Y@_WZ$$ M+;>U>^KKS:H("F/(4I5X0B28YBC,(!A M'%%*,WD8+(SZ:/ECU;,*_X//[K^KL "L*DK?<\!;XF ^$[7*J5L.@Z8E905^ M>Y:G=-,>PQXG4E/7OXGI,53[/:I^K^LJ>=[;$EK6FR"1R6X R0[_Q2EF09V+T5CE6HI"T=ZTI3ZJ,K/4C0O-9KM M,,X:G M.[^H79S3#$5A'@H"P[J".8D36 0L@CC,DBQ!@L6,F74V&(%KK55\3F.$QCF_ M6"X@;6_VYUL6SF[=[7P2]53E6YD8ATV^M_R#CI5GT+(X FWO M[4ND_GI^.^?XM1N!^YH"C>[@WDA;A&5WT=]7BZ_KAX?R61W"J]7BCLP_+LN+ MQSF9_ZLT2SPQ&-)WG.G]?5DK]B:WH7:T#J1 @(N'KH.+*CK7 M[_3;WY@*>5A+>Y2OF:;U*UK'&246$K.+3C>@,U[,NCGXO4AVB]_ MIZOO4IZH70D)CW@>Y0R2+&80Y2&%!28I3%B1B%0DA6!:%0M[QO>L>VJ"0%*< M $73(![\B"B&E8(#@&:+_P4VFZ#W(R -PM[/ VL7^*X[H681[_U(!F/>C[PV M7M1[/\][<>\#CUE&Q.)GM3FH7MT7E)9K/#.4,[^*!A_/P*OO=RZOLYJATM5"M:NKJ%O6Q_NX[ M7EPW]]I?EFVN;>=<[%.5\;UE[!-X!WEXWK"1T<-TYSS;H)V#C/&T% MT'.\MJZH\;9FT,37^G:X?M,.VM?\Y.S-UJ' MTS+ZCMGPO@F%K<#%WO36 -[ EJNTZQ^6ML0IK"=K:;Z-([LRYATY0H M8%%$$VD11I1+8Y#P")*TR&"4D$*J]SR.A%D_X[WA?:O@32D]NT[%^Z+05(O6 M V5F38V^VJ 7CH)[P_^.A7^AOL!'W_JC H<\GBW/)KY/XVS(&#R!\P9#E31 M>2;/2F$.8T0Q9UF5/^EUMVK=2;UPO5!EA M]7]E]#WAN3+WZK[B,Q5KK'Y1-Q;?_8>=)R5[\[4JFOAA5CTN*SS_O5RN'^4; MJNW;,83HR3BUX?D M64-[3W%U__%WS\=/W'5_#Q]OHS^'CUY>++^ZLOOX.+]W=7_[RZN[K\ M:K:G64A9;P_R*SNS/6.@1/E[V\'*EN"P9&5;7V GJI&L\8 MZ8PXZ@OV9R65\?S^GWA^^UBJBMHOXR8MPZFU1_9]W-ZK&K_3DD5E 7=+JO$9 M[T;[.@F@UI?NL/KR+UC#XZZ=3*4E/&+TM+&U8KM",,DXSW,!L[0((!(H@@52EY4!RW 6AS2."B,WP#$J MGG512PZ\XPOZ_0&7?QEZ XX*1M,I<"Y<,PUQ@-1#R;%!2*Y\!4=IC.LR&()Y MX#D8?'C4E-W?ETOV8S:?'TT-4[6L,1=!1N("%H6TB5"8%Q 7+(1!%, MA<2D0[PG/HUT@GF7^3OU"GCLJE4]2B/7T'7A:W[T%,L;D+J9:CJ9=5LS"CI& M53?)(WFXG MZ=\O%[5E^<=L]?V]/-,O'WBY^?:G#-,<)535"(LS>0*+<]4*$L$P1V&<$9QR M850Q9I":[SNKEK9]#81A6>GI3F<2,+QYZL#_D'1!1WBR57/N-)@60D=Z:)C6 MJ-I$"_9+G:#WDD6VZ@<@AX4@"*(T M14PP)I(PTH0PO7$=0S99KAQ)L*-JDL/;@-4AC M/1_WV3V<6"<*W#'AJI?3,+C![-:>5\?+M]%F\94@]>S 5^&/;:&!=#P !HF)LT=\@3L,N(RR-0,NK/P4TVR(P>FF@GC,&35\'T[57,A#2,V MF]?-*K]R*BFIDWOC=.!,M;51E]'K9H>Y%I>X7$A>*LE,':O>U'699FE ,1(9 M+%B@3CYI #'%.0RCA!,4A2BDU$0/.>'*LY+JTB47F_R1Q^5*V9EX/G\&'?>@ MVK"OHM-J_IO.3A3/Z7K>^&T(IWA=<>70F96 -\%//["J&;":PN&IU$UL5,QOE33;@>WL$6M-2*L+YL^2. M*JOBGD^#(J:)R'*8)Y2H.RH.<<@S^2,/>2&B0&1:FGT$7CWK^PU%\-0PHG1P M2]K ;/0\7QKF]MN9!<-S[?FYGDTQNA8":#!,P'9F;][@C!I<*+R=F;6[F'@; M,VQVSS&.S ?O2SRS,-Z]RSBRW+N_&8FD90N"KD3$CF_J,\?5NN3L6OFWUJ4R M""1OL^H?BR6I>/FD?%Q7"WGB4.ZO!95OU8C>;ZV-W0(\+"<8QP&!14;K*^L( MYNH"*>!R>Y=V" OBP*AI@6^./6_RVX(W6^^-L@4Z#"H!98,"U# F8!<(J)& M?2@J765K['U3<$"+Q[0_@OU/S;':,>$-3;-Z\82RQNVKWX)W?<1M$ MC"7^@Y82HQ$V#WV_F,\OV)]W2[5_FH6V'[[I^\I.+LJ=X&H5B;2[Z^L'I!_! M/*PWSX=K>*^]?B,$0IG$9QD,6A*& 2(011$0E8B$1 'A1I$9"$8"&F3[PD2^U\ M.%M>3#[G78ZTO^HV36+6N+8:E^"?ZT6_3Y"T46&&V7+6DZ%W>!I%P&;ZHN5" M?K- ,06ZO^^P-=F6]M\]-K6\.4R1.UUD?."3(=YJU*O^P7:*'(XVRY'H!=$NH M_X'7K>>Y7GU?EBH0>LJ+- OE20$*@@*((ODG'*O0H9!F'(2YX=#S M$CU:P?-8W4[PV_I1GII?J7[G=L+T3A2O.@VC>W$.*W9N^'Y[A3H/1/K&*G1N M^?LE2W,>B-=73 M7RW^Q7%Y]V,YS9,88T20-.W21"IKE,%"FGH0HX@A&A41"P(S(\^&#>_VG?S( M,S.%:R5-/9WJ6T)F:E-Q Q4[0/&C.@77'#U/@"(-)&UWJN\=-9:=&KHKZ^OCYSK,5&K&A]:RF^(OQ3BD'#5\%<( MSG!*\L"LUV\?*:W%EU>/0SWM8#T;I>D&BNNZ7+L7%]J@C?RK@\"L7*S'1QS-RSH( M:-?1.OR@[>XHU^3ES\=9N1DQG$8I95F>Y)"GJE=BGA-(*,^A0#F-8!--T$3K!:;7C\89UO=$1(C;W#]( ^WM8%G M?5?^G08K7>8E??\O=<6G?UZCGZSHZ09_P&ZW?VQM_8#Z"93_Q MWU?,UF<_NZ\]#'3>F21!E<41S6(1"'@@*IJJ,1PE$24;S"!5Q M5!B55ABDYOEDT-(&/QKBQCIE6%)Z:L09?C/-T4'OZ((MX4E]6G?8?ET'H:L& M[(.TQFW!K@/[H F[UDOF5O+5HI)*HY1FP\UR/J/R2Y>4Z 5;/JXXJ\-K-"WF MDP-Y7K(M?= 9F1T7]:6U8H6S=>WZ;CC2-ZY/2^BTH>U4.&;KV5 NX)MBQU&8 MLS9L*Y/\].BCF>?:0'=-=?V7+++IA %*(1% M(0(8AC21Q@'-N-JF3YL&@U0\6P%-Q=K9ACC -76#%.1>\0RO96>@3=?P!FE# M_+XZ4"G^)_+XGWY,/F!XDVN^KB MYZS2/3+LO.+Y<-!2^F_]77\7SNG]W1*)F19HB8!OBHRC'?H(XU9[\>XXH^VZ M1YC?W5^/_=K.\+U:/$F%M2R?;_&/SUA^?S,\KZ39?2UNNV MM"= B6)#?@+4'>12@(X%=_:P/EQ'1K$&P5$M8WT!O#2/#=ZT[&&]YZ#^@ZL" M%IRU)>WJ2]/U8J6:";:U+*8T*FA"PP FL<@ARFD"BS@K(&;&0,OC5M][R$W[F3 ME*N\H_,9&C?1R)D #S*+W(UL[<"4*GKU?"._W]7%@JGR"(_J&[V3XWU8/N#9 M8AH1C@(>4(@B:>0B%"4P+Y(,1EF&TZ) @F2IH1OS%$W?84XJ$^;3[$DNS[N] M.S3PK:%O6%)+1XIZ6LVQ;,S4UAEBL?%TZ@)UY^\\27%LKZ>N"([X/K5?M5,, M+\YJ^YF,U^M5M<(+UM:+HE,<$QJD*8,IIO+4% 49S/,<0106##-.,H9SL^1" M(_HF2\(JJ["F8E\IW4R8H3QEDB#",,$JP3XAL=2W10I%@ED4HJC@!3;1M]Y$ MZ<)(IG7&2M>B8[GE!D! QI2ZGG[V)DLS37U@+1_DL^_P,JDK$%)WNMM*"(ZT MN!GM4?6YE5A>:G:[02S-93Z7O[V__*G.FWR:YT$<()K#-$OD88\% <2MQG;$ .\H69HM.X+0M, M89G:$RVR"Y/(#.W"X\"<&7C M[0\^KKUV%-B![77\J3/:;=WRKF6P/)_=E_CAEJN3F HXW91^V#[3]&T(ISR, MBB)# L91D$"$PQ#BG K(Y$Z?TA@'G,7&#;BL6/&]1)4. R7?Z:M=7#=\[92W<=]CYGR9N.SB9$%B M,UOPD(AW@Z].':C4-;BJ[L6;QN(J/G1)*CGHBH-9QY1E),!68%D189)( X]A M*2:4!E)@1%#( IPBG*2(,B.7PWGBLE#LET/B ?)K*^]-TP6.B$E/09\'WDSQ M;FB!FAADDIJ'V(<#)*YC';8$7B>VX0!@;RS#X9/G.@I?=M.J[:J+!?N@&G)Q M]L(UA0(6)B'-((I43!-.""0!BR"+2"$)Q2*/C6/(QHDOPL$F=K3_03-*F M3D!O\C,\BPV*KKV)J35ER]A(GC\K\3AW]YEQ\4H^/BM1]3OV[(:SO="Y5TX M>S*HX?,R)_-5VM1 QB0J5:I^%_WX'%$&#I)(][,/K[BQ$9@MM%\SISATG4!FDQ]BBLTV)D=9: MT\ =E'RNROVIMB6[X/_+47+,,6"#"3%[+XR7!'.,S[W$EZ,/6*SY]]]G7%S^ MY+3N8WLMQ(SR4NYS];^WF?=XWOY[^R%E+)7_PP4D*$80$<2DY[SQG'SL)XOZSJ#)(G MOECS:4H*DH@P@'F!,$2TX! 'A$">(ERD82R"0JO+RM'1?2MG24M9Z65#S>Q6 M8U\,>M:5-3A#E=GBNCV!R]B*.LJ_(]-I?^Q1[:6CL%X:2<=%/'3Z$/;QDSD9LMF2. M@/5Q*S>(RBK'^'"TT3*->X'LYAOW/V2W^ZCB]MO/T/!VZ_C+_KXJ16]GT7BY MV1K&Y$@Y]Q 954L/ WVIKD\\;:ZW/TJ^EPNNVN ^\?+YPYK?+?\Y6S8]<*_% M_RX?^'OE3B^?/^$?%P\K7;5N.JYGK=^R SI^ %MS92!L6%('"\44:+D"DJV3 M 27G2_/T;N%3D&;+WH\,C3896V%8[4'&Q$;;HFS%L+N#68\Q^37?ONI-F MDS!V.ZO^^EAR?K60JH!7=9[ME%(:A0'BL& TA"C$\D\)1C!CB,5%B".$C4PV M[QQ[5GF*)!22IBJ>51.U2-?W/VUZ1YPW-1EF:M-!3S\%HFTPO -C A00H)" M#DI=4^ -]/DS%?MK]_W3YO?7Z -H*GYG?0&-"5OX8ZY7WWG9]EZ^6E"Y46U* M6E^P/]?5JFX+-BVR7!0DD)MZ01.(4H8@*;(0QE'(BB@,49QN>G7=:7IB]$AK MZ9+]WEUWYOJ]Y@4LE@M8%TDON?JH9G,5:C!;\0>3"HF:$M7PL3@4D%WUE5HH M78/VAH/=DN<[3+B7CX'CQ+V<['PE+N1EYA'X:MF M:E.UWKY.31.MEK =SM;*_WPKFV6YG!VM0][R\KQ:,R^.H$C%@,WGDD9^H8?Z%F3!-K5/' M(K*W-(\69]KAY70PR1G&HH$4G!M^.K1?R8@S$$N_068RB)VZ^5UUG>#\JSQ* MKJNZ*'(8IS%-60+#A'.(6%9 '&5P'%#RKC98>: B>*JJL M*10]U7 65+/E;X;2>'GW(G&TA _''W69]L)[N13['[1;;A?S^?*'F:KU52F>FO9AXBL5GI'%&RI3L"&NSJQ]WW) MV6P%/BVK:M(D<4HINE,&EJ)PI"I,J8^J2"Q%\U+-V XSLGNN+>&X4[_G19V? MRY^\I#.5N3^C?!H@DB6,2^65Q@PB3"@D)*"0YIC(4T::,DRGC[R<+9E4L.7* MLZO.C'N3!?T2@_Z-7,/2;L&P"?CQLK@8;_D"CXJQ"2#\?K:HZV$0/*^5@"HN MQI;S.2XK()EI"HT9UAD;ZZM(XSR,@SR$!9+6*HJ3#.)<'C(9PDA^'13C/&Z_ MBLL%^\6_B0Z!YR^"-[7F?L7/P;-+V-\$C^X8ONX\P7M%\0YJZ'6 0(WH#;B' M[:;@M9W$AES_&JYBNZEPYC"V)&]WRKGEU:I$ )Q%\?;1 M>=4 WA/@3\7NGGI]Y'N!3[,%OU)A2%-"DB"(4@993E5SK""!),\QS)*4,\:C M/,XL_9&V+'E61&>?Z\$WQ2JH>35T4SB8+\_6E]4LC&Q8Z4W >.;2@VQ+: M,O1K&#D' G1FOQR.;*9HJW(U?2\-H.5\QM1YKXXC4:<]Y6*,,QI&- AAE*0) M1%D1PB))$4PHPS1+49IRK4:C0T0\*\-=LJ"C:^2!'930L+)RA=M,_5A!UE8F M.IB&U(-\?TM:V%H1JW5&7'K[!Y76I?+V1&&W*A@I@9-[TNU:5BB6)B 1UR" MISKE1%T=_^/K!^MK8QUIZATZ',O(=%G7XOG:B$?2EY\4:#AH< M\%20Q-1SZDQDQI[.R\9GZ4U:QKN,+?YS=I:&Y@0T5+UL)<=@N=\^]JB\UI9Q M#.K -G'T<0]=Y#<-+.I?WO'R(9S&+.:,A5(!\BB *$("$D(32(J<)6&0%4%@ MU!W/E '/F\E!@[QM;YRYX@'(,1_J-?_,<6FZY(VEK:<+?,K03$F<[BN_[8E3 M/P$40R-UE1^0Q!A=Y8^1?SM=Y0>$8]15?F@P"0/I'F;R=,8B4D!4T;B/,&OJFUYR&U1V@R)/&>$PSB-$H@XS57O8P(CEL1%EO%0A$:FI1EYWPKX^OK# M'U>?/H&++Q_ U9>[BR^_7[W[= DNOGZ]O/MJF.9I)E<]->M/6F8:M..C#A/= M<@(:5O8JNGIIVF4G!U?II6;$Q\T]M1+,06*JW2AV"N@?=:A9M9H]X!6OIC&/ MPKS(!(PRDLMCH%0U!68YC,,8)SQ+DC@V*KZX/[QG!?*/-M2Q(V>F,EY(0D\E MV.,S6_(OH4W S7(^H\_@6_M?+PO].#I'"_G%X*,NU./ 7B[$GJ?L%MK'V6*V MXI^D/7BPJC\N2SZ[7[Q?ER5?T.<[>'C&M.T2(AA5 6U[ :LL,P*8EX-S, MA)Y>&$V^9FJD80O6?!V>'":@Y0UTS($=[H!B#_RF&.PWC(U5C!-!.=)(Y_$R MJ@)S(K:7^L[-H#:50-N>W)LNRG=R1JOORSF;DD($81@(2*)0)9KG( M!_)$DF<9)OH-V/KI>%9IUX=-QU<=:9/ZE?UR&E9+#M$;>KLZX-M.Y'=N@9L4 MZW0B ,L"G3:",*S(>1+>2]*Y[W,#RF]4K_R7LC]/Q<]%.:H2(D MM( DRU2!\32'.2(!C(N AD4J4!)$72$NO14]0$WKF]ZOMV5H/74=!'A#W&P] M#\E);SV?B]UJ/6] MU3K$ID;NNZ6L08X1\MXB-*HRU@#\LMEK/.*>=*[M#GJ M*MIE66<,:>:U[[_E>3]MB>UZ,C7C4HX '%YNYV$S6UU'8#E+@^K'894E_F*H MT1+!CT/8S?7N><)V.Z.E"A[[P)O_7BTN*"W7RFY7)>?O\$]>W>!G=9Z9IE&: ML8CED&>YNM)/,20T#6# 4!ZG28Q$8G1U:$#;\W+[(,E5JQFM_6#=7>&LY@*L M%!O@L>'#= _4%Z[NGNA%9*9[9$,<_-:Q\3<5.-&P &H>P,T)>5ELF,;(G6V@ M^I1'WE"-17*XP9H/8;'A+E=X7L=#*(.:E[>KA4%!F>-O^]Z %5&P0Q7<\M6Z M7!@7B>G!KK$GGPW;<&^V1&RV00^"LMNHCP\YWH8]"&EOXQY^TN*Z^RM?S);E M9[S S6&JJ?;>=BK(LI"Q(HU@DH0A1()FD# 201KG01 FJ$CT,@Y/4O)]MU23 M!EO:H"%K<.L[*">-"V]7Z WOEGJ G^[48"@!@YMO5Y*PN_LV_A3,[KUUP W> M? \.,-[=MPZ.O=MOK12$:I/,TSD;U;/G9.PZ86ESBE=FH+4=R+*H[R .! 9 M1'%&82Z0@&'&TQ2A*$*1663#6)Q[UI_OORM;6YW0>1N!(FTL$[* /R0,L(L#-$# /I()V&"I\W:J"=C F>Q&6H . ME/H2.E@.PR_&G@E7H1JC\3UN6,?8TW$0 C(Z ^9VZ=6BFLDGMQ=JGS1KW@V_ M[//FI:8)CMRC5HY+U.E!M++8!H8=S6H[#6W7,B"[BTWG@@(HCR.(!88 )IPB)>H*0(N#"K%]-#R??IHZ,+_A,_//X= MU&U-38MW] E)[Y#@!+JIZ5:3D7NSI+RJ:_!OU)Q"1A&D..$0 M!0)!S)( 9D%.6G(LZBD&04"A$BB*(P@CE.8A@7B=1M[D%V"H)-_BY(^7D6\[$:^= MIV_,]Z^1O6\['BQG2UQO9QA3BF8*7W$&%6M \38! M+7?/$[!A1 7 -ZP Q8L[->U**HZT[]GLC*I470GOI:YT-JZE"FROA27-:2XH M%HB%,.7R!TH(@@7/0AB07)!0T) GX72E0B\T==EV;*,S](:"8<3-?$O/4"OM M"$%3P=A!,]05&GC,E< AYZ[6\\[(XR[-0T@'J^S((S910@>GENV9ICVX[+94 MO%6_4Q'W5+5H7_Z35ZO!YJPABV+*40&+.*00$T)Y5$^B./JDFT5QO9G(MX\'>RB0;QIF-(O;A2#6_+(P8ZS:*+/>CY<8A:7LT M7O!K\;[D;+;ZB&D=//$9_YP]K!_>+2]6K"B;E-;, -%R8WK$-A"F[AG(LNQK5L"&%] QX_(P;RX"9Z=] ](CFP/F0CFT%RS&, ^;NEE4 MBPOV9W53EE^?Z/NJB\;0S.?I>=VS/KCABZIV46R+?:D]777LXN63.A2\7U8& M>3U]0AC6 H[PFRUV/>@.(T\T4%H%CO6-.5K4V E0NR%CIQZU3==E7/07U_J, M_UR6[^>XJI23_<-2W;Q-X[0(1!3)_1T5 J)(Q+#(!($\$4%4H(BGF5;8R1D\ M>%[;6X[Z"]+5;(&:KSJD WQK6#/T)MM,@-[!P+-8S52&'XE:)/U:R\19\J\Y M!R,G 5N+Z# 9V'ZH,SMBM04^MKU3TBA/&!,Y9!QCB 0*( Z* ')4Q((SD1)J MU$RUEY)GU;1MTM16T3'M+],O(CVUX@2XF?+88NYH>FD<IZ-4 M']S>UE&]+Y@?_3^ORKGR^U77XJYD%V6Y+=*F>?KO'\'S2OR,Y4LS/*^[H%7* M^#V21:%__A^0Q&D3P(T0S%:E%G['=?[UL%K9 @/#CF8.G(:V:Q%H/&VYBZJ4 MBAU?85-;=S5% 6=Q3A-(TY3*T[\J $"C&,89#<,@+0A+C4KP]]#QO8,JJFWA M[I6]M[Q/2)J[Z/G0#??0&O4.Q4E;2MM!(0Y-4*ZVSQXJXVZ>PU /MLX3CUM& MK:MFXTK+?MJD&898Q G.(QB'*8,HST)(4)9!RG-IK0A]9L01H"-8]&[L7B*FSXD,"X\;V] \":V&/8Z4**5Q-]/PK,V MWR/:G'E.%>S5E92Q,XX3%N5%Y#0L>?%MF.YTI]G@"+5,J0U.Q5<4[ZQAS-;7("U*[/Y-2CEE6WH]+LMGN<+K MNG73' <\0Z& 61QBB B3A_IWF]N%CC]OIC]>\VK^C@X91'F0280 M+$2<-\6)BZ0(8!'G29QE)$J(41TAG\QZUD';@K=[]6[;ZK9J*6X8 UO.VG.U MH6O)ZYQJ7@6_D9DR4XN>)LF^K+!'Z;FN).R#U= M=(^X7#VKL-?ZZC)-LR)#.(68AQS*/^00$R$@B07.6!*CB"3ZU[J'!+Q?ZFY) MMI';QE>Z1Z2BY_:#VKW$'GK.H4'%3 M+BFOJGK9+N?+^WK)-TUL4%Z03+E,N*J_J)HEDY"I]99P%&)Y;BKTN[;WDO&\ MX%JZ8)>P0;V ?ND,+SEWF,T6WC&X-CUK^G$;E#AP@M^N.L$MG^.VNL!C*Y+5 M#AO_Y:B:P$F$@X4 ^M\>+X?_)(*]]/O33]O68G]X6"Z^KI;TK_8SX[3 *,4% M3(@*[(D1@B1"#&:AM-C"C*1A2,UJL+^@X'VC5_1 3="TY/I+66A>YIR#T'1[ MWX+S4C6]!XFS:NDOQQ^Y2GH/O,/JZ'T/CERZ^;"XI@K2O?N.V^*;E2JLH:) M;G@Y6[(ISC+!4%+ 7 0I1!&*("["6!XD,AJ) ,4L#LR:L8_%NM::.:>S>T.N MKDY55Z2J#.MACC:'>DKG3^-9 MD0-<[]F/0\^9=_JY7*QJA47;+D(S=5B61[+ZBJQ\?K]D?%JD(L4I3B + P:1 MX-*.S$,.TR2)8A)BB51+JVC2\ZQD&@[ '@L34#,!5$&0AA&@.-%O#J0CQF&% MY$$X9OK)A5R,^@D9H+5J+Z0S_FC=A@S [C8?,GG-/&;ORW+QA2\KL_IG>R]Y M7JNJS+J@#BN4G:4>ZNHNOV11HNE.PI@-X+N^ /V M<7,O0G#JR-B9JFS:ANCL_\/.D\V!7:[$4NV\'WCSWZ:?:UVDI.D.=BL7YZ40 MG*ZF/ A"'%(*,8LRJ$+N8$Y"!@O""8H+(4B?+H?Q MDB,R/WK@Y?@3"5ZIV*IY_Y-N:,4$4Y9RB!"(> M1A"E5$",I#U'LP3%)$TYRV(3O^ P.<]'Q):X0$R+34_GN!&%X MM=3*8)T@/^4F]HOM6WSG?G[9/\T__\1_1 M2N1__N/_ U!+ P04 " "F@@=;/GH^;.#- !&@0D %0 &EN='0M,C R M-3 V,S!?<')E+GAM;-R]V79;.9(V>M]/D:?.[4$EYJ%6=_]+EF6G5LN22I*K MNLX-%X: S6Z:=)&4TZZG_P/41 V4*!*;&\Y5E;+&O6/X$(@ 8OCW__/]R^B7 M;S"=#2?C__@3^S/]TR\PCI,T''_ZCS]]O'A'[)_^SW_^V[_]^_]#R'^_.3OZ MY>TD7GZ!\?R7_2GX.:1??A_./_\R_PR__'TR_=_A-__+Z? M/L_G7__RZZ^___[[G[^'Z>C/D^FG7SFEXM>;W_[3]:]_?_3[OXO%;S/GW*^+ MG][^ZFSXU"_B8]FO__WAZ#Q^AB^>#,>SN1_'\H+9\"^SQ3>/)M'/%U)_D:Y? M5OY&^8K<_!HIWR*,$\'^_'V6_O2?__;++U?BF$Y&< ;YE_+OQ[/#>Z\0OZ//^&?SDG1 M*M6"EE?^OW=__.O=V[].88:067![A-^X?D9YVR:4P/"T<\/9QL(T\&X'$*4R'DW0P3F]Q(T8&@A8,/(F*:R(Y M[I0H&46RX):!\%HZ6040]UZ[%AQ$^W#87):-@.%BZL>S81'\-:!]E!Y])TH MF4>))$.L9))$"B)3H%)QJ+,[/'CS6I"0[4-B*XGVC(J#\7PX__%N.(+CRR\! MI@/A3-G6+(D,4!C,>!)2X4(HD[T3!DS8"@T/W[@6"E2[*-A*@DUH_PP^#8L0 MQO-C_P4&AKKD H^$ZN+SB(#T4\,)R]&K9($FNYVW^-1;UT*!;AT%6TBR"20< M8D _11.V$/PYRA_V)Y?C^?3'_B3!@%,5C,:H,7CG)N S87_?IA0?,,\O#JIN+:$69C,M.!$*):(C.@O!RX# M299J[HU7.HL*@%GQ^K6@8EN'2@W9-@&2O910!;/K?XZ&8V #F3DZR2@0KYPA MTF:#6Z7*! R72DF:&:_A;#SQZK7 X5H'Q[8R;108?!!LX."%P+A*%R:21G8H M)<@ :-Q#J9*N$V#P]8ZOZ,^'C-<)M25D[..G)].+R>_C@*AD\U:PBT)4PLG*:3Z>ET\FTXCC!@(868 NY_ M(7 ,NG@@UDE/1*29:T!&/*T'C =O7P\=#9]U5A-M2Q YG0MO6T] #1\TKFQZ'I6>;DY'YU^ MGHQOSN:< I6EYL1Z:4O4E(EET1,,K-%;=AZHS%NI_>$;UU-]P\>;6XFP9_6? M0[R<(G1QR[H8SD

!!HJ\; M,-25RJ.G*Q'J!CW=P$.407!.0YT+KZ?>OE[^5/,'D15$VP1$R@7_=-_/X=-D M^F.0H[>H!H_@QRG,Y&XYA-AM@(*1E0D<8Z608# E&?'2):)]E]A92HMO%DT^\=#T<-'_:N+D@ MF\#!P1>8?L(M[_UT\OO\\_[DRU<__C%(6@3'J2/"&R#212">F4PX9)%S$.@H MU<##DR]?#Q?-'S-N+]@F\''^&4:C&^J5".6XJQ"1 @X5]*@L\D_N_Y9Y3;[.1R7NI[2F0]$)(JE120 M9-+BHEX2I[@BP%/FBMF<=)4 Y!D:U@-)PZ>3E<77VPNS9S3L?8%Q*OGE M[T;^TR!RG@QR2Y(WG$B#X;1'6OZLH;>1ZNZ/K>Z];3_L-'U]N+KQ&RC3> M#6?EXF51;?(.OS<;*#1D3LI2.+9I>UR7U:^>CTT-'R0 M64>H32'C'^"G5RS08!-U8(GBX,J%G"'>T$PHRL@(=)PA;&<95KQX/50T?(99 M0Z!]YS1<':?=<7!3F,:L<3X&1F+BKB3M*&*S500=GB@$5\)M>72YZLWKU?DU M?&Q91:358/'OOSZ2XQ%^8\."_9/C\Y.CP[=[%P=OW^P=[1WO'YS_=G!P<7Z? M[#4+^%<^K$9!_WJ4;EG@?SDCG[S_.EADO!5+<)+?#<=^'(>X24RN2OIN\:28 M],Y&1U* @%;!!&(C-81ZK410UH8[;_B)%97]+"QT??W2JV4%H_GLYCMWZ^LU M=&UJ/6[>L3>;P7QVMVI 908"B X!05Z20EWIMI&,=.A!!>Z?M1N;<'F?@G[: M!W2&A!O+4D'NUS? M'#,/".D7.MMH]DF0;"/F!K"R[V>?]\:I_'/PS\OA-S]"9F9[\WT_G?X8CC_] MS8\N8:"ULRZD0+REB4AK(VZJ*1.=G 4/CC'UW.'&)MA9B[ 6L+05 "9=:Z,! MB.W%6,HF9V<0 5D*(SB&^H:>?=BC= :J:[!O T>'X&U(]F?Y %@8B)L&XE,0H>K.[>T5)$,9E+H10 MZKDKO$UPL_S^?OJD=(>3C67; "Y.I_#5#]/!]Z\PG@&:SY/Y9XPPEV4T,%GY M#,83)L3B>H&3Q7D2VDW@:#O!I]H.\QID]=-:I3L4U=9$ ^"Z3SPW405F S&. M2R3>>>(,QA2X'[/$3;;QV8+7K7WH?KJP=+@];2S=S:$QF?M1);LS^0K3^8_3 MD4=QC%/QV+Z6J+384&N3$3I)(HPO>VO)F(J1DQ1+V3<-V0E>W>"LIJ=?OZ;S M>+V:*AJP."?(B2]IND?@9W!6.JV>Y(]H3LM:&5":+/IGE*"3'XGD4I/@(1.3 MF?):2[#P7 7M)KAZEJ!^':'.@55/&1LCZQM,PZ02MMY/)NGWX6@T"$RXY$4D M((4B4EI*+"@@*"LG9! VLMH;V_;E'G MD*JNFB9LT=OK%Y)MX$P_VCHPW"$4H 91I:+].7/DQ&J8E:BS/F/6]'H MS(VAJHQK\!*C 9$Q&I"<:,I#4HE+H+5]ZG5IZZ>/WLZ U8F*&K!'2WP]/'4# M+7#UH'PB!4ZDYYY8@Y8U"2.$-\8H6OM\:34U_5[#=J/]U1#;1A4M@&HR_G0! MTR]O(=S>!/H$+"NTQFA[$Y&@*7%))Y*8BBQ8IZ)\KO)I(S0])J,9&&VEX8? MV5+<#2#F_B'8C9Q^W-[HL*2<*ZU,2QZG= &(-]82XWTJG:8BR-HI=\]3U.]A M=TZS=$80J"+T!Z.Q/Q@M1_'TX_[Q_.9M/OL#TT7)@5(8@ (A>-"S(H,LM MLR'*:*=-QO CU;XF68>N?L^^.X)5=84T +('2^4VE2'&Z242\TB0 ZE2X *= M21\SAB\* QG'LB M:*AXE+A4D!G\;#9,,+TN37R\:H+6(BOMB4@>S7TL$Z1S2(1QF:2/7%.H;:T52 M)8WF/DG-1 W=8:VF4AK V"*:7F;A;K5(%[(2TA.U*!-2"2.MP!S)RE&4F_4Y MU;XT6DU-O^DUNPDAZJBB 5 M,3% 2QM\3() =JIXJXS@2E D9AN9IC2XZ@[< MTNO[S;C9]5N5]- HDYOWKM@Z:I-@TG.9<,B29G2DCZMB:79 MD@R D:RA"7SMR^PGR.B[4T\=#3\N--Y*W T@9JD;[C7].:AD. :?<3&QQ3JD MWZ*5UBQ)::2GJ7;ZZ$,:^JX2[00K6PFZ :#LI;2PN&A[_1##RGW_=8@.UD!0 M#I%139(L([Z29&7@IR$*)1,1_09L]1OGITGINP:T$]C4$'L#Z#F#N1^.(1WX MZ1C]M=E>C)=?+D>XL:>WD(=Q.!\XCZ0%<(0K #2)XHLP F,)G&,^&W^#J".QH,BL'7R?YPG\?!&!. M,6!$6(6KARM+ @8(Q"7+%(]4V.K'X*\DL>]:TFZ,68=J:@"%%U/PL\OICX7T MKO;[JZU>.1>S2H%D5^:F,Q])2-03Z[6DR* "6MNTK:*E[S+23G!51?"O!Y"[ M M 8/A5$=W0D,,CERH>7>M=43#''E8"1K2;XX*>I/NF@UGGK-(C"EI M^K*G&&WDG[^&P+Y/,ROCZ)&?WIFR&O#2[T6[2 1*KP@. M/Q_!0H+CM/>E3"C^U^+[*WNZ#33Z"4EY2E+6:-)=&7.>T<.TWH/.TN44:B<> MU**][Q/6KO';AXH;@/;]^PC1[DY!MI4Z&@77X6QVB9QXF155F1(N MM2Y)1('8#)$XH"[3S)EFW=YK+U/3]W%M#Z#:0 V- FIY "P$&T1 DRM]&0"K M*44_5G,B? C44X#6I@II %]+U_PK-WBOM+6X4LJ(.5U. MI7&#EY$3AO)*$I=1Y-7'V+Q,5M]'O!WCK+9BVL+:XWT^<\$D;O&")HJL!$X\ M!C%$@.8QOY7/UV%*R$K:T4T2*FKK=YE70RU /13@LB$R@21.8D M<.8WQ^@1\_'!Q?G)^\.SD].-N[.,2??AS[ MRS1$[W';N\Z7'E_YOO-5W%2Z\[S*ZKH%Y-VX)AF3SS(0! PCTF2)Z..6H+W! M[UI.6:P_..])4K9/;?T&XTMXAZOPJ0)O?.O5B(32=AK_GTIBFS#2@P9*C"U% M HYSXGR@1"F74UP4?]?F?@,R^[WEK(&JJ@0UR?S)#LW_-Z"#G;(6V M0)(KK01<%"0H8XGV3CCJF.:R]B'I/0+ZO6CL D*;R[),P*_=-PDW+T!1,$D&4C6UT "HEG,"3_+#<8<#51J@ED-2%F,@DF8@ M/FM 25&7-??.\MJ8>IZB?AVB;B!540<-( IM[GQZ&>>74Y33_F<__02S0>2. MB4*T=UD0J74@GK) ("L7D[-@3>V924_1T6_*4F=[W';R;@ SCR0ST,('YA4E MUG$THUZB&551$)6\%URBH\FM"$16\UP[D)V:.YK+U+/4%&O\:ETUA]0UDW !?<30$U<>/S'T_&DQNF M!LH+<%IR$I7%<%)S6>8V*R*H5\H"%[9ZP_1GR.G7VG0!GUJR;Z)*?=&\89F% M*XG=NOW4V:A+1UG0I7]Q0"N:F"%,*)>5#Y[;ZOO5LQ3UF]K8B36JIX$&7)X[ MDWIS,S<<7R)3US9W,IZ]@3R9PFTS8Y@=?$"QS.H4Q)#AE"0\TV@@,C*M]B;N"E'YS+[N#WW8R M;\""'L-\R2^E)GN,;0,Q'#SZI=X2&S&6T3Q(9P(8GFJGPMTCH.>$RBYPLKF M&S L-XW>;@H=[J:4,4U]Z4&9HRW9>O@9RL$3IW.(VDB30NUJIU6T])PRV05F MJHB] >/RD(\W?C:, R35.TE+=8PM.0Z %E)S( R)U"D $[GVG=V3A/1[UUM' MQR\ Y_4";Q U;X>CRWDIB+%41>9P"4%I_B\]E'8ACB@JA',A!<-JYSZN(*7? M6]Z=(&<3H?>(G9(N/?@[##]]1J+WOF$$\ F6T\N7"A=NQ>6-N9W9^BM3&KJ7>@#%ZP-WQY9< TY/\B+\K M2VLT^G=4)X*^/D?F+".!HCBIY5R6X172USY#?Q6!_6QYG<-DLBN=;0Q(I"1, MNH7DM<5^7*@5G/1"1R 2-P@B.95HP@,N;^=]!JZ5U;5]]5>2V,]^V@@LJ^CM MYZJ(VC_Y<'IV\-O!\?GAWPX.]LZ.#X_?GQ^=G'=3(+7&VSJLEWHMK_5;1E[M M^(N91X^Z9B^-P0G<:!&(\8MJ3IY)*(5X,3J=A Q.5^])]TH2ZYYT11=3"!:7 M5 J+@QA!+(TZS>_[V>=W MH\GOOT'Z!._]<%R^N9?QY6<01WXV&^9A]-=M R_\]ZM&L0.IM*26&B*TQ8C* MC3CJVZN\T_]>D)>S&Y%DXTPLIR0J[* M8".I+24!_7$2*4\T,8Z*K)Z&M$L&FVE5V=O*Z1\W#2^J>V-,4F A^NB(D0(- M19:&.&,%2=QXY9 E4WT =K41,[MHA-FK\=](2PWWDBQ^.!S1:$;C.R$3IVAFE M(TYCJ,\8>),H]X[63KE\DI!&,+.]HA_F*6PM]0:@L]17\0.46Z!!L$*CMR@) M0TD0Z40D/EE+*+/>.:.,3+5-SB,B>LZ'VEZQJ[M7;B#E!F#R1+/$:T888YFR M' C'3S FL(X@;X+8B%SP9*FGM>&RDIB>DZ&JPZ:.U!N SXH)X-?,*!9#9EF7 M5$ 4D42VK$F!4'!9IQQUK%YK]2Q!_9Z+UH=1/>DW *6'@[^ON>!(LK;4$2XS M(Y):3UQ2OHP>RDX(Y8*J?5;_-"7]GDC6!T\%>3> FC6F=E\S9FBV7FK$ORR= M%LIEF+/:$V89!J.1^U2]C=/:Q/5["MF!8>I$*PW [3;H.,*ELZCN&U#F0C"4 M$\HM[MA(-,&_P["5<4MM2I"K=S%]3$4C=^45P_?-!-P 1!#>Q;N#MW#U[^'X M\?'8V60T>C>9_NZG:6"LY<9HC%1S2&AFO25>Z$2"B(PKYU,RM2_@7DEB(W'^ MAHAX7%/9F7H:0-^J"1TF4 Y:4L)RMB4L%;BM\TRR#Z$,E=<&6AJ1TF4I77?J M7W-:RFMTL3&DOL)T.$FX>*;S2CO?H['Q!NF,P3AB!:LI, MB]J5O(^IZ+V)]\[@M*4&FD'2,_,Y>$Z!JD1<,*5,HDP"-4$2M.@\<)9M$CLX MX#O#%=U]-$,O.[G C/.#)06;"J7N68T1&)!)F),2D$(J8#5OHM^ M?0YVEWW!=P:CS>7>@-NT5A*6RXQ)IQ0R@896^C+M,VI;PAS+@L60I_H0IVJI M[HVO7//7> M@6]GB&\*'0VLEH6DK\*HMXL^NE=L70\VC5BL 3 M4=)J&JS(D.LGV*Q)7.\M_W8;LU375[M 7"RJ>WPIRLLDC$AP5Y*EVZ$A+@I. M.)=<6?RIB;5+L=:EK?=^?7W#<#MMM8O"J^6UZ#<^C//KZ?5[18J+.5"#S,$P M"98$9TJ%>?W,U4TH[;VE7]\(K:G)=O&Z6(>KF=2",YN9 M(D)Z4WKD6^)DYB29X'"U,B]L[2ZI&Q':?V?!ON%:49'MHG7UFD3)9BC%%P,; MN.>A5-!X6M)/(P:A6@ )(5*=.$1N:_=#V9S:_KL;]HW;VBIMHA'ZL[PN?GCR M=>'U''R':1QB_#CPA3>)GH_P#$7+M"..6DUXBD"E5UQ7'WS\>BK[;V[6!ERW M5V&[-G:QD3S-H#$RL. #,;K(TW,@-NE,%O?^*CNJ9>T\KE<3N1Y$_Q"W1]TJ ML%V$7JW!@R]?1Y,?<,7IZ>4T?D9QGXY\"243U:5])6$84^)"I(PX8SS).05A MHJ;,[]26KB9U/;3^(2ZI=J',=C&[6)0KN1QXQ:1P%#V<$%&P7!CB0RPE5-G' M9)3@OI-\CM<2NAY>_Q W7MTKL@6T+E9?N=- D5WX[W\?SC\7:2*[^(V;)M/W MKS<&UE#<*6PDP69TQX77)%"G"=5*4.X<]:9V;PR&^_F*S+:J0)Y:<-@XI-J5 M4ILX%5B5E*JUQKV!6Y+\(I60ZD6^/N$F26&H5('7WORW2A#^0]Q+U5#&EHEW M!^.*ITT/LE-C\EPE2;S2'-T0Z8G+4+JG.9TIBTE5GVZV87XP^^/<(6VN@D: MM#H=%1U7%;TKF5UE8II(#F6#MM8GIX*+T0A?NX9AN_1@_H>XZZFCD*KHVDT' M\;WSW]X=G?R]HX[ACY_>98?P%WBIWQ_LIF_MW31LT(E16BZGM42T9,:)S"GGFY9FGT\FW(4KNS8^/Z!L>CF]',>_%^?#;<#YC\! M/YG2JA8X :T=D<% :16I">,"V<]91FA@S&)7,.I:V\_6/KQ&] W@9BG\+:-J M46R+*MN+24D6'L?A".ZQ=S%YK6293P$RB\19@\L6O"(A>$:XSB B!U._46+7 M//5;=;AC=#<%D 86S%O -\?A0MWX^0BN^XKO?2F]P_]U=3"44N+2@226+PZ& M (AW-)!,*3K&,:18O4G?.G3U:Y;;0M*D8[4V -7#\3<4]F3ZX^]3=/K?3GX? M#W+,1DDF2[8H6H*0,G&EXB-S)86.91)?[6/HQU3T:S^;AN&6*FMB?-S*PW(6 MO4^N-+ O+85L(KXTF%*FY(4BE\'5/L#9XG*CL_2S@4*:E5&&*%[FV(*AQ)<.5$YX4)9I*4/M\.@EFOHM%6\: ME%75V?<(X445\XV,%PSAQ]'E8@;DG1(&(K'D3-0DI2*OK("X2#4:_:2,21JD M?% XMF)T\'KOZ[>*O$GT=:6M;>^!+SKL578KP^OBXKL $KE+V91NQJZ,'DF1 MA)@484"#D\P9)VNG,ZY/7;_[^8[#\8Z4UL"N_9BSO1@GEXN\C C#;XON@MXK M9 :#+\N8()*"(]XF0[)VT2&?4KKN^^4]IJNUMF9U,/$B]+944!,I,8^YNHG! MAN62T_L0RJ0ERC6Z%D$R$KP&](%S4B@^[JL?Y#Q+4&L-SW8$M$U5TBC"3J?P MU0_3C6-[\+V$6F7\U\+?V)O- )T*;06@[Q!(%*9TMP1&G N!@#,F8_ ?95"= M0V\=2EMKEK8C3%978J-@O?6!%^,TY]>,)6H5"+$(MR3Z,,6Y3N5>-F HQG2F M3M7.P%Z3M-::KNT(CMNKJ57\W8WBTE'A-Z M#;B4="@]7ZC@Q )ETEKQ'UH3)Q $ <<+:"-FX^K4CKR"OM39GN[.*%=35]V7)*U?9G?<[ MD#%0H3DG+.HRB,_+DBRJ"8J8B2B<@8=SQE?@U]S;4IZR<\WE1C#:!Q M_0NG04)' SF3!"Q=7#25;MC2$A Z,AT4 MH1 932)!E+6KE%]#7Y-U--6P,MF1XIHXV'[$'8H5K?_\1VG:,]\;IU*W^[7\ MRL!(ARL;Y6>A#+%PR>!G29-$4Y:0K:6Q=JWD^M0U6?RR,TC645H[.6#KRW. M[D@TG ?<=:@C4DM! I>,,*>2CM,OAN._3@^ M++*%+8!DQ)@JK)?+A M:H>\JVAITFO;A=W:6"'MF:VGNWR#L2J@/V&$21@,&4H"0QM%QFW5*(_FRP)G@7B)3H (8DR MQVNMF]]7O+3?=+\=0:M3332P8=Z<];RZ"VS*#)QCGK#$D4\9);$87A.MHA/) M"2]L[1J136GM-T=PUS9P%PIM8D->7[ #*8RV(#$\\H(1F9@@MN2E!66%9#YP MJ'[AL3YU_:8.[AB>'2FM@5.\@YPASD_RP7?<$L:?X R!?C(NS);_RI'Y-S^Z M6IDW,[<6=SOC=/\;2[]Y6W;]=CC[.IGYT?OIY/(K_@5^'2?C^7!\">GZ-KV, M\A2,4P\E3A.E\\1Y%Q2W%H50>\KQ;CGL MU[_O;&$U#),&=K&MI#/PP0,>&84A06A'O %;[O>\JGX"LA7!_48& M;4+\54K M 9!H=.8*4$Z65\;5 Q)Z;KW?A9H?5V5L+/,F((//0IM;:#^&^2 [DS@#251@ MBD@9&/&*EJ.9)%UT0DA6OP'!/1)ZSE'?"60VEWD#D+D1RVT+P9L,O7%ZXIRO M'#Z,)K/+*=S*3G+E4C1 M"M%4$ZCY59B,3@Y6IV%E[YV$Z!M:>ZW\+%3CVQG MJFP NM=\GDQ/,3"Y_F*1!#T;%ETNAM">Y*4ZNKW9[/(+)#:(V0.7":4L.,;Y M40()95QR\ J"#3P&5SM]?6-B^]UT=XNIA_0;3(>W@WF688SE$2)_GC M0FAP/3?^)-_%X5<,CM<3[H"E!#D'25)>#.HNO@PSFF@*K&3F:P[L/A!79*IT M0%R_F7F]H+0)/=>N#*HZ*_%X[^+CV<')NY/3@[.]B\.3X_/[9*\W$_&)IU28 M??@2;95F')Y,/_GQ]3B8_%7.Z1/I)OD:"']UZI'=^J)@Q M(N+4HA^:&;%,XE8:.,9($1S"MO(65(7PK7U*?[6REF]6I1&NI(9)3F,I4 +B MG'7$1R^EI2*I4#MYZC$5_7J!N\?4(U=P.[U4BU:J6JOSCQ\^[)W]X^3=^>'[ MX\-WA_M[QQ=[^_LG'X\O#H_?GYX<'>X?'FQDP=9\<@6KM@D/E2S==5\]W,I. M$9#QWC@%&I7FW) R\0K]?\=(",PN9AY0@;NM#M5'^JVD9NO88/AI/,S#6.IY M'[WD H7Y!G_[?P& !X^KHOJ]PUJ4]3S3K0Y* M'D4*]972II':V__KQ\/SP^*P;&*)EO^\@KE924TEFW+3T&%_\B7@5G8S8J^T M*EXZ>;A%D-#4:JW>RO)J38*]"G8EB:@*05!O&6&2"]3N8=UQ,0$&I+1,N^ U4:L2BU,K)SL MN:T&VC0 M%Y2EUA'A7)92!F"Y>M.U5]#7K_VIBY\GZH*[T5.;5NG]R'>&J/SR^ MV#M^?_CFZ&#O_/S@8B/WYKG'5;!1:U-;R52]GTS2[\/1"'%PB.2./PW#"*X& MQSRQ^26!WK/"32GPC,$V,$:L@$Q<"C8$QS,&]Y57[:L(W-:$K?6RN\6A0]8@ M(A!PH% <$(F3BA, R,X(= EL[>#T=13V:\:ZP]9#D]:AWMHT:N_V#L_^MG?T M\> #&H>/9P?%E=G(G#W]H J&; T**YFP=WXX762JW*GZ[@129BFL1*_:8O!= M&A 8_"P&8GRD-%--M:X=USQ'S[8&ZJEGW^%:1>VXE0PC$HXA!+6!^*@Y28%: M*B4#";4OTIXEJ%_S4PT7#ZU-/26T:5SV]O?//AZ\/?COTX/C\X-S=$5.+GX[ M.-O_>':&B_CH<._-X='AQ8;'0^L_O,IA]D:Z.15\"XY9FI'@1N2VG- 6 E)#RW9+O36IHTK0=5F!NSZ M+RM8IZ=HJ&1Z%L,7EY+>I0!K2FZIQSK+WE/DW)MB;A_E/O()EHY@J12##*+PDAP-"S!TVL8SQZFW6$VH/T.Z6N1MGUOY6=?<[MQPN0,MM6G"#O;.C@^/WY\?G9R?G^*Z_VWO[& 3J_7D MWD$I7;4TDLZ7PC L"01F;M$A0 M_A"&6,T,UC337[WJXBIA^[4L5 M'#QJ1%A%\(U:D+]^/+SXQT8VX^HO:UB))VBH91?^>3F<_[B[ ;"0J7>!T&Q* M(P!CB:."$:Y!0=0Z!U%[O,9]"JI4-)=&QHB)JR^<';_9,/ MY6YE46YY>K2W407#,T^K43^U)JVUCEUN%7Z2ESN*7W<@WY_,YK/%SA%*S_&; M_N2W"'0V)2.](XS&D@5*T=F5QN"72@O@7+M<>_O>CN*MCW'6??N;Y;??+28C M;)#"*!(E+;D<7!)K+1#C$N4>*'>Y=I/-+4GN^5AH=_A\='RT0U6W:3 MG?SCX&!ADTX_GNW_AG9I4[.Y^F$U_+#U*&W#:++D;0R1$QW0C9=*EO:LFA$O MA.$8QGM':U__]&,T%_TI5LY.FQYZ,CDC(1-1/20>TH++:KL=V]@#'FXM.TI MJA0S@9;>X*ITWBU3&%#3FINH4^G$:VNWOWN>HJU+SW#?ORK]/IE_AFEYV13F MPRDLO^Q)S#M.H?2=\RI(#&<2AC,6,+H)5'G+DK.Y^MRV#6GM.0.Q'J(>U:/M M0GEM&JSS@_>E+N+P^-W)V8>]33N //&4&N=F+]!6R52=PZ>BYS/X.IDN&NC= M)JHX)G ##,105*S,FA/\CB$"\&LG#+5;1L?5+_X+E/UB0I+L" (4:6 MBDZ1,'!(-!$=/3B5#==4=\QNG=-75D:CEF6MKF$W[90VLCJO>\/. M.J$]S5/W'=%*T6#R2I!,,SK-#$-]"Y01):-2.6G)8NT<@B!R$C+9,I$B3<"@P>:-8L2=V->O3O36I0UVQ'M-2AYU(&H MOE(::#)_K]WE0UZ8R\PGDS$(+DU1)'(5!(:H/J/KIV30(E0?*_@,/?TV[NX( M5M44T "8/L[@)!_,YL,O'O>.@0 42[22<*]8:<:%$8)@G@C/3:X\@SCRL]FBR^1")^E_+F?S12L4F,7I\.MB M%'B(B/6 <24HP#!3!4$<\DQHHCG8J"#1VH'(:VGL=^IO1S#K5%$- /&)AH*S M*_,[T-P;H,*3D@Y$9+*..$T=H=Q@;$,STV$'72^OJ>EW\FU7OE0=X3< H^M) MD"]-BGPXNO>*U^AXXEX&XA9#$D"4XF$?"7#!K/7H,?K:&^0V]/8[H;8K_VM7 M"FP K&C( 3DHM>P//4UNDS/XRB(]M-ZQG+EH:XG1 K)*WBE=^U)B-37]CI3M M"&B5A-\ C&X;:3[D0P'S47L@QB]F \9R): 5,:STYO24!ZAMSU;1TN\LV(X@ M5$7P#0!H90_$1WPIS:4I#0]%+ED\0(FG5!&-#!L5#7>PLSZ5FP"LLR&+G3G] M'2BF1\ MLL5NVM,M]:8;IZ/)^-/1\!M<=2M_9)&-]T%8;5!T.1,I=&D,3($X M%I/"M<:IRFNE\&WP\O5.3^E/ JV=J* !FW;;ENP#^'*==;=J'JT=RT52D9&D M72*RS/0)+E"B8P*7#3=:==8G[B7BUL/>SW9TWXUN^K9KI:0:)86\W/2+^G$& M7Z^2;$_R8D#58I5%/WH_17O^[G*<9E=>**2GV><6@@G6$\XD$)E!D)!"),PK M%SE(P>UZFEGNRVH)/T&<'3=LP3-[.33>/C4I:P&:7G, MD>0 R) H9JGZV:X*ZNF@ 7 _[5SQDQV?(LLP, M=3HLNA=S7"O)$0;2!&2':E\[B^D%DM8#UL]VZ%]3#PW ZJYL=[D*[^3K]4"V MPW%$4:-M+L_G^TJ MH&M]-0#)=Y,I##^-]R_QW6-<6AB_S%!LY:(7.5Q\.5J^]UTRZ8X"0,Q$9&T) M\@4D+):B 4@8@T.H7DZ\,;'KP?-GNV;8C>X: "DNM,D7N/#?'_+A6':Z1-#6 M2X5A-%/$2R9(2D'C_ZBV#X]_*UQD/4W+>A#[V2X:JDB^ 00M2MSW9K-)')82 MS]+=\.#[<'XR?3NJ\N]-':L59X&K(@6H=BX".N'0B64.8E M"B-0P6ICKA[UZZ7F_BQW%CUKMP%<'\/O2S*=3L;X:5RDU]*X'D9_MKN-3C75 !+/+\,,_GF)_!Q\6\U4 M,M0D%M$=#A&W#6W_]>/ MA^>'I?KV8I&X=9_<=4WJ0Q+%Z+Z"TW=W=C M?/!GEU\@+72UE.+ )<3@P"[\;CH=SN,K6*0=4"?+==QX._;R5P^S43^57=R=UG >92A]UBR@'P0R(\:R)(DE"S*EP%3U@<4O M$=59%=#R7"A)#0LED]7(\?O#]^48<#G!Q=;.$(O/[2"77HEY97,TTWU MSB+ NQ_1/;$=4@8^0L*=T.92S(K1FE6\3"OP- O%@Y:U\S=>16 ]9^KFM4NW MUTK08"PC6C 40"E] L%!4E<]J6HU.?T:JNY0L]J)VDXC#1P@+/N# MSQZE/' /,XJ/\3(-GHI I&"A'"=Z8C &=L "L[%VO+(AJ?V>C/4!RNXTV11@ MWZW-HL>(14L:"#HIJ;0[*)V",'Y*5.8()9DQ5^\M^WHR^SWYZ@.HW6BP(9!. MGF/QW>6\B/1+Z4O[KX6>#[Z7W%QXP+MF7K'B^@96II88KHGC$(A*U C0(CE3 MNRZM)OW]-BO;/:QWKO,V8YYW>X=G?]L[^GCP >.%CV<'Y41CBVCGN<=5B'/6 MIK92A'-;('X'PKM,&2VMD0%]1L%\+#NR)39;15@4&%$;+TVL??;R'#W5&A4L MW5%?U\6GD_$9Q,MIR6!%2=!CZ9R\9X\YP67N\ MS$:$]AOS5,/1R@X&G2FM@6WZ-4Q^'$_"#*:+?EJ'XZ^7\Y*6,8[X5P_NZ802 M6I;62,D&CQL)[B'.H1)X"LXFGL'4+R?I@(]^PZ8F<-V)RMOW-X='BQU<7M:U]1)6EQ"ZYJ7;7X M'XN'ES2"&*>7?G0'Y!"X@&@,481-J)Q$_0TZ]R'SQ M9%C.27O@WK+L6&)4$.X#AG.<ADZ\P]:7\9,'5;9>K#[Y4RZ;D!FOYYX5:1UJZ(V]Z*W!V^V2#M:^NL*^] J M6FK-=8Y[3OCT0[C4N[%CV#6Q?=QQ>&\)2XIU+Q]H+F'XI\GQX0\"U5G9U\V#\Y MOCC;V[\X__OAQ6_['\\O3CX="&9W4U#V1J/)[WXN4R'$UF#\^^DG,)!:8)& ]$ MNNB(]0Z_S,X(#P%"J)TJM!FE_6ZNNX#E#C38YIY[L'=V?'C\_OSHY/S\%#>G MW_;.#C;?9I]Y6H6==5U:*VVF#_MHW@(-E+5<1UU:_9;>'ZR<2RA/K%$N<<>2 M=UTW,JU_C_+P#>56,NZ-T]OAZ'+^N,(?P,E ,V$:,2\C%<0["23(Y, +X0.M MW0UC0U+[W5*K8&AU:-"=TMJT5NA![__7F[WS@[?[)Q_*1>M>:1)S>K2W10N; M%Y]98[S\J^BN=4)V&Y">Y.56K&QL'1DJ%%T+0Y"O/5B M;]JF7 V575"ZE/:N!:[US-$Y@)+[7CZC01&G.,\>*$53T)VUK,M,SX=]N\/T M,U:W1W@T$.W<">*.\VM)[_WNI^E\CDQ=]7N>E?2G*W&41D%7WWMX]Z>U7)0N M>2U#B?7*(1G31-C F,\T&UT[%J_+0<]'CRVLB)T#H=%EL*R 9>ZO6ZD^O'!, MT5ETNQQQO$S8-:8DOWA!0$4GD>U$17?[PJ94]ULZU!C<.U1X Q _GHR_H1\+ MZ6YB](+)!?^K>+0Z6YVH(EGQDLOA&''!2:(BSTJ5[+%8VV_VBQQ?>F2-(Z_74-U&W*A9"#&Z0*+1 MG,A@)/%&<>)S=)%;J6.HW=:DE;CQZ7WA-EPHJ^STA2R@TX"\L2WY%5#R= M^O&GJP[N;WX\'38L#:S-N.L$BON:0I])YE2Z'>*&)QP5SGDOC*J]$BJS\%/' MAMNLA#ZAT*8#/WVV2R/'Y,E:R5%ZBKEJ&R-$AD;YRNH7@W M:^06?5R!-"D;XA6UI2D@)Y:#+9T'N4X:!<)KWXZO35S-7NM/OO+A"6'2WDH6 M24C%_58N$R\]+D%%B8RWR!)]YFD58_F7:*U5#(RJAD6\4=RI-S"&/%QR M[J3D3BK&"==.$9EX(B[Y1+3GP)21&53MIFK/4[3]C/0\'!<;/)Y/A^%RT>,< M(ZNEHOX'P9622CE/&3'2(OI30O/L BX!(2/W3E/K:U=DO9;&GLN#ZR'H\4CU M#I75IJDZ/WA?.OT<'K\[.?NPM]W8I97/JI&KLA:=E8S4.7PJV#J#KZ5+%6Z/ MM_E1UAB>:"PS8S3J.^"FJ)4AS&KI71:6^]HM>5;14O%\\,$;EF8O8 1\]<,[ MR(?H@8GD2 3)2ENP4H&?BP@DNH^2:@FU[=.&I/9KIJI@Z)F3O,Z4UH#/OY1; M?8 K>CKVHYN\ZMF;'^]A\FGJOWX>QKTI^(5\;D%N?W& )U@=%?*:P"GI>[M:@[3HK7A2]QI)ZUV6N(J5(%(BU*U M46=B6&;9IZ2LJYU8\3H*^TVBZ 2-':JH38?N>._BX]G!R;LR36/A)YV_A;D? MCC;RZ%8_K()+MR:EE7RZD^DG/[[N.(H._FPR&J:;Z5:G2QPL>O+Z<1SZT3E^ M!^Y?/BBI#488 @$H2$X3"1 -$3I:3D&"KCXO9"4Q_7I\NT?8HR2:*EIJ8&.] M8>1J+R@F^I83P:F*&DTR9S8120,E'BD@P@J5-=B<;>T3HM74].N^M0.X+?74 M'.)PZ7P<#Y$+KVQP44FBC;!$2L>)XZIT=U5,*>H9S;6CW:'^WO'%WO[^R<=RV/7^].3H!E&57;M:>+Q6_/L(>B*0$$ZS,P2Z][6P.)#A#"5.!XS)ER?G4'NE7O[OE0>$3K[XX1AC'&JH3.AB>D ),2I)2,D04SJ04Z,\%VO%YB^@:FV" M^H%:'9U/NE9 CZA:]-/;'\Y_H#B'[MP6$_R,?S^C\GT?S] \3<' M8*F/)5 .OESP*D:)-13]5N]EC R$9OXE!^P5[^L/,AUI>=*MR!L('*\R@O&7 M%XN,,RT%4D^"=1CUBEA2XZ4EBF:58JF."K6G4=XCH.?[I-UN;]NKH '\;)Z& M?L0KB>DY M/.@=)Y,NE-8 ^AY4%5\S(8.6SB=+8L;]1KIHT1N.F= L4](^@9"U*[F>)*3G M7;LUU&VOK+YCUB*YQ:X1DK,*_R.@RQ!-4WJI,6]),"I*2:T1:BW;]E),>O/" MGC,X=G^\L9FH6\#'-:QUM!2HID0&P+!<>4^"BJ),EP@A>IFX6:O1T#H(Z3W( MW$Q9#]6]@>1Z5OB'X7CXY?++382K#7C/)&&:H6UTZ$\&0Q51W/@'X&^I@,OUQ M@0";?9Z,TB !$S'*0*PLXZ9#%L117./4:H8V'W\&#^+"%5D&J][0[V;:O6(G MM:7<-U1.P@R?-H6NP,;UTIJ@'LK2C/,)%)4=HRRR30 M>56"$AMBQM"&QH 6.%-:NQ'7%N4SG1UZ[1QA%=31'*CN59>Y;%T45*%IIH43 M*$/1J2-9":Z,Y 873*? >G458&?>>L_@VE@M?;M8I9MBM2@S>AHRUD*=_>N3M6%]](_/M]3L7;*"S$ '2;&"!>0$NDRB+\?;. M$ILQABFWHO@ULCDAWNHSSO_MRI#?_<1)& MPZOIQ640^R!G#]DE2A('9":D3 +C0%RDTEEKO':U,]N>)6@M>-F?'E[UE=, MTE[,#WPV/?!O,%N43BY&S+&!D=K0")K04!I1V#(C)EI/E,C<4$\E-3O/3'\% M_6OAV/UA<-R;ZOO>@JLP?C;\]'D^^^NEGR)5HQ\HAUC0\@D&248-R#.A*40B MJ3;$%GG(9 TS^,/XL/IZQ5[>+9WK'1O3GQ[NK:F\%:,?7I9&>%D:2T*(DHM, M=22"&8O*P<^LQ_B09O"9>QNGA^6 MYG7'Q=>;8ZRY1:N6YQY7H3'+VM16:L/RYG*&Z)O-$#,!$7O=+VC1B'$O_O-R M.!LNOG7;YE& DDZ@5Y Y)U)S3[P3AH3(98A@?=*U6Y*\CL)Z[5INWKOTDMF; M'TM?7=VFJY"\-X$1YJ,J Q4#<4(N:JY2 $63K%X9]UH:^[U9[A!AJ]NU=*"\ M!C;\)[A:I%-:73R3I%!FI1P_9T>L*.-B=.96,*#(34>K\@$IK;1NZ4+_D_K* M:!13Y=,IW)0)6BX3$V7,2PJ!2*D$\64BD9,HNY1,2-7O<5XDJ@V3MI7JUX#3 MYGKH.S;?&V5_U>G^IBS$2A Q(/$811')M""6E@/+^:5;7HT)!=4,@TH8N:0E\&FV%P0T2V"HSQ(K : M976KWM]*ZY4.MZ=JXF\00M=+RH,IPS(TB5&61LDVE;:UM'3)HDSR(&1::T/: M $3]=PVKH=D7H+*!F)O;;YP62B;%262041XJ$E=2\BUDI<%&P>QZI[=M[#Z4K53I6Q'*9D0E3,@H:# VN=B+E<_2TTO>A MG]AH,[4T!+&E\XNR$H=IT;\?I37UX]D596R@5)!"^D!RZ3LE05/B'"W-9D-F MW/+ 7>U>Y*^AKSEG>4-4K(!;=14U +^;V>H7D^O XH99F+V?3F:S@4]!..X4 MR;KTW%$18PN-CH!@6BO0P056>V+12S3UZV9W!K.JJF@ 6D\(JJ2YSW\S2T@GT_)OV11NTDH7%TG7/QW0; )8;XEB*I=6'XXXXR6Z##S2$&AB MIC8 ZU#>[X;\"3TM@;IQMQ#(2."9P7Z 1G#*:HTB2$",3R M", BSS*NU?N\FUW\)?+[K:-H89.OJN VL7TZG7Q#\4[&?K0T5O1PC +WH[MI M"(?C."FWVG/82_]S.9M?]8Q^6FH#[@2DE!SQ5G#T^),F+M-E$[;W B69'T&HW(VN#_!/6] D_. 80?16@*127IB78S$-H&WQ59S6\<_$,HF9C,R[ZU#D6M+?.*! ,=8.HI@ M(.W@O*P&*_U6S_PD/L9FBF\ _T?EE =N9[8>@9]!J1,ZR:7D<9&XEA5XFK0G M+);J1:$U\:4E0-)18G!A1;"UO>>7J>JW%J8S5%961]]>ZU/LG/_S$F7\;C(I M:=B+[Z0!Y3I2KTOR2!+(4Z+$*NE(X*SD&3E@8-?R0-=\8<^U)=VXDUT(NV\ M[8W'EWZT(/SFD'K@ W5)H6OKS**5$DABI1,DXC&T%,X2Y4MS*@L.(WF429/8ER$\YKI>,M_8KUP/, MSW,EU*' FZ^BN0FP_2+<]D^%V77J:U[QHKJ5-YMRV$]-#F?*"^41L()!Z>>H MB;4JH./C5= L@_8[.+9MJ29'2Z-32)I(&1=SP"R&&5*2Z*+0-*?HKNVJNOV$R,! M)&Q.2Z2'I%SE^?4W08FR+(D2%QP=R#,S'2Y2EL_)Y4,B$\@E0)152!$5"_IF=G$W">2ZT4<[6?D)96 M4[@K%;-&(]F!(?,-%G ]W?7CP%?YK4N7L M\_3ZE]^OON#B] O,KL6C%,C,BV%0"V%T2F24=4$&+DI/H$G*/,&EXG ,]IQ> M?02\^P7)+[>&7L+RRU53\V]PMCZB5-YPJ+V&G'%UVF=TS'.O6 S:>B--T:IU MT[]A.>HYN[N357(D#'Z]97&QJ+J]_,T??;N6$R.B%M9R)BWMNCICH V7''Z5 M92S2US++H4HDY1;R3I7"8TG\Y[/]D$=9^Y23(+ V7F4E3>[PH0?ME;<, MOCC-L]&V]+P([G+4<5)+ 4CBSQSEBS4 M;5)(:X;J'S8H8STGL7>R2-J XI=;*VMS\6X^2S=MR"1;C3Q=CN.AT$L!9U&B M)J4IR2WIT^,35&RT9:KGK/A.ULCQ8/CEUL?5WGKS+R[+"I8?X/OZMH6,1.$Y M)0:BCDH#5;O$.L5*BI[[P)49K.? DS#8<]Y^)^NF+4CV7T/A<@W-\'.MZNJK M=/5>V2PN?JI_G#AND>M@Z^$%;<%)(P.L+7&TM#D8#-'<6D-/4,^Z"^5=ER4< ML#KZ5_^HJV,(X[$9+W8*?]^4B4)EN*.0+>IZ*03>LA",9(6\T5B0_-7;70.[ MVE;NYZKK8HU.-I,&>/BU=I#;A?(A<X7S#E<3YRAR2MH0^ZJZC!15@8F:(081 M17$JR$Y.UJ5;<]M2VI8D[T3Y. M'2(YQ1"%2LPF2692Y(X+BX'@\KN MD#Q:;QW \N7%S/-K,[$GB,YOO=\SF-J3R^L?FO=XHA2-69,F9H35+WFA 1MZI8XE; M'@QP![9UNXL#R!S7' X*F_T@>K0..X#IZ0(R5O(W\8I%:0R*S)(T@G84H"5= MP+$BM+4&$'1IG15]FX:N 7:\TF^'D<=HH ,$/7@/+2%% 38PX'7N#Z14YV.% MVNK**O!6N334;?_!_: &N[$?.W8\3"T=0.SR5.?LON6XR3X0$RC1F.P4$Q'7 MS5C(QCMG&4INZAF?B,WS;G>AJ[O@X4 4W'O$WU E' MI)TTN\^1_+"8OZJCO6Y,^&J3)OG @]MF2N[*P3C)DH J8"B<<:-,G4!,0'32 MLRP)>;'VD')/,&*ZIV1)"HJT,P&8U1R85MS27LXUL]%95TI [EN'F[]TLN0^ M"#LZ67(?Y77@?FV[H:,-( %4266HAC;=[]SS>NBYH7>PA+X]2@Q2X$N$9]+"-%EP>WMH[)?Y*9\+ZT] M>%.^CPC[-"P_PAAO0A0U@DGK/EH1///)"H8H>K]P$%K/I[//R RX^?2$%_#X]NUAAGD24 M)JE"WH50CNDLR=EP@@1KP"M5LJ.W# _ 1ZCL^ B^,1);JJLA))L>OKY^]\^3 M=Z?O/[X^^73$2>L]3VEPK/H8;8W.4*\[C/\^7::S^?)B@=?'61FT%Z(4IK++ MM-MELCH1%5-."Q^UPN3;Y]=M)>?X^[^K1W^$O]X".7)3.%N2F7U?/I*&%M_J M@($84P(G*/(-M*E[LK#UR(ZA"I:6#P\4K S%\%:JQD[O:H./NY=^3;71@4-_ MS=&?\\6_7U?[FX2%]@EJ=+_(-VA\5+([2%**]$.W"1A9L0@J6M;>N:!^A=3;^S?>/.]%H<-#L*^%F M&3"!'*GF0&L67\(+&#M(,856$M[BFA^B?$H4>TRK;:^ZO*V2VKI M==2:@OP>R>DFN:HF'^;#*Z1EO ME:%-.P4M :1'YG1-[8B:TSI5BDE7&YM;%6UHG42Z UF=6K=#H; KU [42P=0 M>PLDTQDNOM]DYRI[2#GD@DM27 ,]^LPU?0,MG\L:E*04Y&;7%O..J.8QJ!81!N8+:;."D?) MH74)]<,4=;HQ'JC_7>&UOS(Z@-:+E"[.+\[J^)/?D8A(TZMJO:]GN*ER.I\O M5M/_AJMDH"U#A:4&&0,W#+2R3 <5F1=&,.^=#CX@.;>M7;-6M'>ZZ;:!ZR@* M/G82S^GPIG,]647*%"3M+3*;P'1)G@7)$^,6K706HXA/MD/O>FLTV#WW6&9S M7T5T<)ETN KGY_G'OIP<&S<&" M[O,&Z1_OW__^Y^LW;UZ\^_WUN],7[_[Q^K'-[A=.I"31G=--T9FW9G)=/NU/#Z@C]/#L=L.77TBBN)S.-F(^(L_B MD-<,NT/NQMTH>V42II@,Y[0_[H.2V^;L6 UT ML#-N6)A(3*;4'3V"EDP;2&2-:\,?K16'G$3RK3.:-N_N RX'*W$+*/:2Z,%( M(,]L.L^?5K!8-<4#20*GGV>7HZS3]],%S):74[7^ =/9NGY7Y%!RALB4D20D M5([1[L]9"9;X](ZBX:'LZ^/4]>%1M<948ZWT9'\\CY:,;V%2J=I[H!02#RCZ M% (''BS(UD=/>]F?P-:;&]AY&=:UWOZ>87WK'?D; MQ;E6A"[0T;"H,B'4 H%+HF88'83",YC8.D'N29WK'[?[F]=>7N9'J[,/3K"0 MA25W,7$6%$=6I"I2:FN":^U@;R&E#Z^I/5JVIST?KHD.-CIRT5;K)*%-6XK- M6=HZ;](Y68Q)F9F@ ],N!6)+TZZ=I0DE =K0^G3S08)ZR6P^0N6W8=1,_CV MZ9+VJS0V5;2Q,M!R,K4%-3F #"0M,8QLR!TMY M[&Z/)V>85HOY;)I.R=FXRDK$2(LEUZJU.J5(JTA&6 A?LQVSCFAE4OXQ+VGK MTT?&P.&:FK<4V^AZGWV;$OU5%G!V/9MX>CU62BN)4D@*#GVFD$ G8* ++8Y2 M/( /$9W<#0(/OVCDS,Q&:&@HS+&!<=4HY!XNE+#11Z<8SR62>.I@=)[)4],: M!4 ,V9B=(+'U%2//LVP#AC8"[,!UV'A4;ZZ36I+D)KN:JV00F9:RTN[(M8H^ M8\# 7?-"E#M$])+*W<[?/$[.'0%E(CVW@:-@,ON:ORX,\RX"R\5D:[CRHODT MR+YN!@Y4X=9[@3WD^7QONU=?\,7Y_&*VFA?Z^!(6B^_3V>=_PMD%SLN=(X-A MK\0/HN6)[LV/E],HYW^"*P6@!%-9>J835\RK $RI)#R&HJ-LW>#H2<__'A@> M=_.@7EKKP7I/GI\@JX!1,H\%ZL1T'Y2W0F%KV[@;97U8SO98NG\&95,]=;#W M/L!533%'+V+"2(Y($(7\$I59=!@9_30K93.9Q]8>V\,4C8NV(3"P.\SV54@W M5_T/\+3#/;,3.6#1G+P82]%OK:*]7+2Y* U2*\RM^^@>1?"X$<:X$&VLS@X, MY,TRK_=WW*1)MDIHS8CV06267DX48T1#BB8VADN:> M) K_H8A';8LUWL? "T,3#.TPHH[NH)BR%EJ6J*+PL?4E^.[4/:=H?!],;9]Z MWE1?'3B4,H@);VHI3!,TTB9;%V-K="ESK,A@?>NC'] MOC2./81C&*SL!\GC%-=-+/\(E[L$@#$[$K%G/EORT ,/Y)OEVIY4!?J)4"4\ M,5Y[C^G[ '!CU3Y'4QMI>Q(N..8!.-.>W/X8K&+"EHPJ!F&:3]L>Q-0../:C M!Z0>I[AG&;0]3?PU3BC5;U0$6$*&4EA1SA&LR(WU1=#7$H5UJ62(K9.I1ZI- M>.!0Y#*#104LT:K"!5:0I^R$45FV7I5[ MD-=+P4-;A.Q^AGJ4NOI&X@_&WL'YIO5OG2^,*7KB)TFF>6U4CIF^ANR *YF+ M;5V_MB>)W=ZI'P>5W2%YM-XZ@.7+B^5J?HZ+CW@9DRV_3+]N$H=3UDG+5,C+ MYK22@[0, ,C5)A]8H[*03>NPY0%RNH7;\3"8#Z.3#N#U T.,^SF M@LK(B1M%Z6.IM M&L8=E?J4D#I*^AV@YY%+C3O!+UO&)+Z,. M.NIZ@EK+08^ZAE1;_ZB\=Q5C"$($11ZDJ]6LT7'F4QU&9(.))2HG0NO610>0 MV752RG&PV0^B1^NP YBNC?\Y+/Z],?Y&!UB?K]A8D\L\IZ!&0J:O""Y98[EL MG65RFX:N 7:\TN_;?@_50 <(>F"3>'-=E@V"A*"28TD@K]%08='(P*0*M($$ MB":WGHJP"UTC-[X8_4[I, 7U#;K+P6@I$N$B>"9,C.009\6BR)P9*%XG96)N MGG?]&$W=GM\?B(+=8;:_2OJ&V(TI9S>KJB;&&:)2&>6+10:E\E<'Z)(L@8$4&!7Y)E8^<A-WN1+9!4NQ%BLH*0:3&%GTMC"C D\B2BZ\;P[$ M72CK]G*B%?R:JZ<+.WC'E-_E28>( D*=3A^Q1NJ*K'P$QF70WF(,_G:_UN:0 MNX^N;J\NA@'G*EIX=;&JF<\W?-B3O[_B;(G#5"\\^KIARQCVXW:4 M>@:-)5FI-$NIU-XLFB*(F@Y2G(E)%LS&M [\>NFU=H]>/F(]%,UUC. K(@7. M_H6PF#AI(&?4#+*43)-0F)>1M@)32C0.3-*MC64#LI]3!<0^*-PG;!Y"PQWX ME?NQ_(X,R^E?>/8-W\YGJR_+2>0%8C:%H:MU>$Y+!N@Y"Y @!-K(!#YAM<0. M%/'XKI.3_^:3XI&Y$XHYD6N'6[)$0=(@I%/IFQ6.H;F[;<. M(K2/P5^]8?80+3Y/J!+V]]3AV?O]V%BM7Z=:5UXM"K[WF,SL;0A+ A"F>:1[(@T_1DQ * MLKV5;;NE"N ((L8]LQH>BD^JI+Y-9[T5XP(I4(R295F'?M4Q"U$$6EH6R^CPV??7B]<=_OGCSQ\G;DQ>?_OA(_WEW^ND=+!;T MW&_'')#N]N &1Z$'<-#HT/,53!?K!IL_0+?\@3I; (4N3-M81Q1SQ:(,G@7N M4DP^EI2:GW<\0,_1!FKS["L_8);?3"%.SZ:K]> HJ"_+[V=_M<%7J7K:2U# 6T91T_&VLO(O*? K$B#T7)M M4V[>NV! ?D;.7&N%RCNVL!<(=+!?;T9SODC_=3%=3M>ZO9S.61! (K.8:4/0 M%+;%F".3VBB7A %K6E=B;2&E$Q".CI5Y>\5UBK_Z<8&;'/N,R5DPFJE4>R1F ME9D/2C!'$9K$G*UPK6WJHT2-B\DFJM\!3H?K8>RHN&9\UE&0:5/9&!4JJ343 M%DDRM43#:U^[A6G)!;F[X'8;L'OKP?WAX B=S1L)L .K\G(^6Y'U)1G2I^64 MU+!6RF_?3^D!Z[4B(5J(4C%5K*2U8A.+]=Y'2AMU=$ _;=V&Y5&B1L[0[G6G M:ZO,?M%9V;E:MR&@3")FEE#3(I,6:=TZSU!F!1Z#TK[U"*='B1K7UC4&P6X0 M.U C8^]^'^![':R\I"595^P'7)3YXAQF"=_B:C%-FX)#\A(2%YXV!EYJW@:) M#3QX5@2%5JF(!&'' =.[O;!+!!VJX_G N_ 3EWO"+]]O[+_EE1L5,($]3DV/!? ++C*H9$U%&Y,T+/!\G:^32DUYWTM8*[0FC]S%T MM:Z35LX*V@_$.BLMUV;F*=/B=D$JC=H2ST-A=#M9G9QKM(+"-J@UTDNG4%M> M+^(K$R^+CBK77CS*&J9-=BRB!A:X]3;3W\%P]O !NCH!6RLP[ "VHS33$]K: M;B)OKDLQ# 09G"P,%"A:W<&R@+9F.:B24'%5_&!('8BGD0O^NM_V>X!2!TMK MI[,U5UN"@Q>+19U*>&E/ZJ?WY?W%*LW/<2T0_(_IYR\3C%X)27$" M3U;5'FR:@>2&&6VSS-J4 *W=B[8<=+(Y=('.+NQR%_ M9-V/C?JWT]GT_.+\<@+M1US?IN17\\7KV;?Y-&'U*K$F44V4*RJ6&)AQY$F2 MO^H9".V8TA9M4=HG&W<"]*YO_"7/-!I@=1"-/2LO9:.)[Q/K37&*=A67$S(M M0#"P'!F"4R)9F9UO7=YS )F_I)O^U/[&84IOANOA]O:ALD ;R.(I4D5C2%DIQYES8&K/U;KE2[*URHOLHGN8^6.@7;SREJ43BI M##>,ESIT0!O#0+J:S1V#]3JBRZU-XS--[]Q+]7NG=^ZCA[&#]-O9B=EPK3D7 M3 ERN[53EB3C!&T+*B.7RO.4'_,"GV-ZYUXZ>RB]7W_\CRD% M1HOTY?L;_(9GZP4C=$BAH&+HN67:*C*](M;>'A07(2T=;!X-[T;9\S]V/'Z# M&T"'/2'SYDWT7?ZNUJ\H28%.BKQ6K9B6);/::&;=C]@Y$U'L&2A8WH" M<,DNIMR."JY#--(IN-1FG<10R.0#RUBK?TL=<8A:,ZX@9 MB)B$\L9URMII?2N'TB?>^/['") M[!E^KL,0Q\(V23U=L1LP.ZUH(1LCD6GM(O/H'$FY<.L03&Y>A'84P<\_(!\- MX0=JO2'(A\]9??FE%D.0:%9?\$=Z9KD\+GM$0*3"UDFLC<@9*JMU"&D]19IK MXLH59SSC)GJ"+U@6I+6TCA+JF$W.8;!KVP'27'^,([\GXV3YV_<;W[;U4%F' M'@6,I^5+7IBGT%?'%!@X)YDU&86S6OC4.H&P$>F=^-G'8NVVD1Y#L1UXVS?R M!GZX5V= W->SP^2,%=X79F--$M"BD(.%BJ6H4K(!E(V9 M0$?JJR?P/>R9K5VQ/V;SN,3%MRK!];T:_34Y2?2OKGJ;_2R.SS1=_P2)/7*S;G>&D $L*,,JP*$Q5@,U!)EU(+_UZ&?!1?&ZPZ M8$E[44+T(3G=]QK;SEPG=[/_$Y9<(X0]8Z=P9\&\7WW!Q2^-=G*PN8I/S6PGV97_,Y=F$P0>O%2_ MX2+.^X[@I)%!J<""BZ0\1,FBHZ_:8 $)A8LP6+GBDT=P@TUU_S4763OD'!G! MG_O3__CY./+/SY^/'EW^N;UB]]> MOWE]^OKDTQ'I27N_HT'.T7%\-4HD^@#?*[9JKMZ+E!87(.=8XWQ".)A_1X+=V3KO[H<9V.2V8D0K:P][ M4.05ZE@"BX9G%J4N60+%::9U@=NC1(U[[-4*';?-75M==."FKZ6#^<-B7G"Y MG-8>TZ_P!S><9Y5R @8IU&#?9.:!]@>1K<[(P273NO'DPQ2->_PS%*P::J$? M3'T"DA2YQ^?3-4L;9C+4/K[D%]MD2DV\,^1W4%@+,9$(H\@AM396#Q(T[NG& MP(AJH(,. $7K(E^DU9]0>^*OOE\):IV',2U3S-=LJ>!*$K5M*=

/TH4 VA%XZ@-LZKK]G:R^A!.V59;CN/Y[1L:"#8C+9 M) I09.]:Q[-;2!DW(AT*3BWDW@%\2"9U8L+R2DPDI35C5Q;Y'OZ2$CH#!^8" MK0PM(KF,"343VEI0HK@D6[<5V)?&G0!GGQO@!M74X4B$_TS!L>;G#440B.MG_H[+M)A^_9'])[A*7FED/-2-V!K#/,^2H@FK M9$8A>6A=]/P .>,>$1RA]]MVI)7(1]R\EHO59#U=[:HCMO,.H3:[,,"T(CL' MFE/4J;W3,1+I>B='FIYZ R/T[0<^?GKAV$AHI+[YL;+L 0!7>>B,4&3DHS ":4KR"I'=R"QY3_,V7CG.0VTSQ!\NO@P#U_OWNS75RO.)2 M%ZTE2X$G"JFL8-Y*()L84E+6ZA);]^I\A*1Q3_U;^P=#Z*$#6+W_NBZSF'V^ MCMLFF@)BS8VM"N=,)\-9% J8X(+3 J%(6K7./+Y+18_.Y8%*OGU@=IS$.\#, MIR_SQ>H4%^<_."@Z^U0L,G @+DTR&.^911>"2-%FW?J4]2X5/1J<-I@Y4N)C MESK_#/F/6*MP-]\J5Q,M=-)69P9U[(X67K'@,#&/7!?BQ=UI?+6EQ/FQ-XU[ M;S@$1-H+N ,+\S,_?^+T\Y<5YA??Z*>?[V%/3 0$6^H]58":9RT+D#^?@24/ MADM9V[#"#[A(]<;!1UIK9(&)OXPU MM"#_LN3$G#96H] @1>MRX7UI'/W,RU*T2A%@H+HRQNN7&:185;9\QB2"PN")+Z\R4(6Z5?EX0 MUTG;'^#[NDKPTD#3>G]?7M'J@+-_(=09B!)2TH:%]>D(RGI 5B@N*2[8I#D* MV_IZ^W!JQPX6#T;-_8<+@RNL@SUU)TY_O\!WM+1/_\*S;_AV/EM]64YBXF2K MC6$&8VUV+8!Y*2++R4G4O("(K??60VD=.QY]6E@>JZQG!,JZX$[_FD\$%Y * MCTS&1.Q9()GR9!G/L0@C1 JB]4G9GB2.'>\^.00/49X>_5_&(QX5F!=/7V3 8* MX77Q%#Y9S[*P6H WT6+K@H!]:1P[Q!T%?7LK9^RSX0>9.YW_AA]@FE\4>MLU M>X#2F2(4&$TAI"Q,D'#KL&_+:?'^[QXWI;8!IIY"YL_(GDT, M-Q@\UFM_EYE6B3/Z$!B:R-'2_+W5YPM<2*EY8E6$ LR MR1IS4.B+!IG03B$A(21H'1#N2V-7UP3[(.1A^]-8.1UX[[A]IW<[6??7^ M3NLI6:_FBVTV.!C+;:PU0!HCTS8A"X6$:X)RSD<7O&F]W1U!;E=7!,= \JE4 MUO.V^:Z6U->YK$=OE'>>U&QK?)C&@39#@4E[J9C+IDYA+IIYR(D98R$K\J.U M;CTJXNFJ,Q-B44!!:A;&,9VM)B.K$RN*\^0CJ!!L<^:>1W7F/GK?ISIS'Y%W ML)O=,^K@LFQ-9BDU10M&661D^E2-10K+7.?((=LPV+376Z2,C9I&JGY\\LG> M?W!\2CM#:O)4(.S L5[4DL_5F?0%G-3=[O4I*$C8&:5C4EV,#(O.U):(D M(RR-2+5'RQ#^VCVTC!T?#;,S-9%\IPBZ6E6A& ,R.(:J=M,.6="J4H;E(HVU M-A Y[6\YME$SMG_30ML[0.@ T8^]#?U)$OPROUBNVSB5,DWXZ2ND3:&W5BYC M':,85*IK3 D&02B6E:QED1[D[:$ 6_:D!U_3'SH.4>1\$*EV860>KA410#&E MSX5)5\BG2]HQ[\FG*T7E5+)7R0R3$'Q-[#C,#:L?OJ\E/K]Y+?3]Q>KY0IF>.JU@J?S>M\G.L;#>>RD+#.%[*T005!KG,=J&@M M5YX[F4OS/J/W4W*LG:I/?3VC9UU4,WO5%2D(!"T2HY"C[K[D%WIG:??-WD:= MZ^UPZQX*]Y QK@O40.^W3979U/@4T#Z?Q;1V3HY MKCK^6;*"G$-6R.E#\\.0+%72K&C<=;[T%'2KD[G+R#\\T]+[<^0PF&%:W\Y2CF MZ 6RQ,'+$*1RHG4;_6VT].2W[*_C!R%SH,#'/LU[NWH#Y/"?7=E&! <4]BN6 MHW,D#U_JF%7!1/36BU"2O5T5N.40[^?G]J3W0Q4U;R.UT14.LV69XEF^OA0K M DK1+/N 3'L367 D ^YM<(D;ZP3LIO&?']S3]M!$Y4?(K;O=X<>98I8>?$F% M>8BE=N -#$+2##7W2A2I<_,BN2VDC'OV.JP_<9B\.X!-)7SC/F_\\M>SZ>IR M+/;OL$(Q"4(556SE 04MJ2BJ@^Y8 :\B1HIRLGK:< ]5_.YAIK(M. MX77R]]?IX@9+UFE)\9DCE@+%?YE6(;EH@8GB-1A0/KC6I[,[D-73]C8)6%UBZ" M-4,<<3[-A;,,' G^Y)M%7^1]1 M=[#_W'-$&72,,AI.[E:=XAM]G9$C$S.^!.X%@+F=5S?68?^37CCOI=C'#_OW MD7)W.+EQOA6]T> XL%0T\8&U_2L UI[^180D(N36)4S/YK!_+QWO>MB_C\#' M/OM]GU;SB O2H'CQ>8%86=D<9W*1I5+ O"7BM7*: 0^6Y2 !0"65;^-FVR"B MK>_H"0^'*G#>7IIC@^+%^=J->S.'V6TV2H94D):)MI!J:WW/0I*%\2B-T%&G MO&,9TO9W]'2.T@(4C:0Y-BAN177SV6=Z\/FKZ=^ULPU]I%BA3I*IO[:!O*.0 M3@C!>*Z=E@"116*+6:M-S/3=W!Z>N 4K>[^ZIY.4%A :5O9](6L]WZ^R]T]8 M3*M?MX7#+)W/F4>&PFV&?(@0F/6N9,^-,K#;+>5!K^_IA*4]PH;000Q='8*KF%;'P!OH:6GW>_XL*J)Q#M%SINZ MK2\VG3.RD+:FPGO\'LWYM^*5E8Z41F,1?/M,FT7_/B2.O"Q9B(K=OXV99S<^.I_2'@<&7- M6TBN!TMRY;Q52WM*_V:])GA)RM>.VF11R5MSV3((W-3+BVA,49[;YA?:]]#1 MD]O<8.\Y5M(=HN5JY8 KQ:X;,V6LW5*,8H:=Y&9AW8B'M\K"PS8N*284P4!DI+NZ,Q@469C!9U;^6MXYD#(YDG M"I&/WTV.E')W.+E:,T2H#CD@*[9PPGJ(9"U=9@Z\23)IG57K2I!G49&XEVYW MJ4C<1] =@.4C?IN??9O./O_,S)6%M F,CL(QQ66IIXN9!>DY<\;Z:$W1$%O7 M_C](4$_P.43?MQO(-Q-^!TBZM^!2<@,J].T'3!YZ_[C3,UMY,LTDW"%*KA:/U[HX MSSE##?5LD1:/5P:9#YP" \N-<#LE1AV DS']F'::?00J!XAY['CX3F?J')RW MX"/C,E*(E[)G,9-X0DX4(19E3;X5&W7=W+NEJA[LZ+V/W#IP.[:UO0?:45U, MY#.A3.38UUF&6COR[K%DP[E-OG4SYF,F30PV/[=U?-Q"WIW"YN<>^3*((H#7 MA@"@KYKA\I2NL8:ALM/:6LM$%2$ZEW@)[[5L1;^'MZ M?G'^VWRQF/]5[S?@*_W-ZOL$K5(4*0 3QD2F.?T!N?9/TL08=R:24_<$=FH; M?3U=90]GKYIHIP/D_2RO/V872\QWF+I:5*9D'D%8%FIUA$9+B\H%"BH,L64@ M9YE;9U+M05Y/%P]#6+=VNND =C>7U,2@*+8.#!?@2%#2TY))M-47[V(1'@/] M9T"#UM/98GN#M9=T.T#&K=@6%^>3($560D3F1.V%0G13:,LE$S9'5;10$@8> M,$!4]!3Q#V%>]I;TV '_K0KU\_EB-?WOFQ&$*9)G $UP)[%HYY!%$6O!%;<" MO @YW.HUM%/1V]TW[00-_QR@T5ZP?:'D9FG>Z]G)-_K1^_([%K@X6TTB!^^\ MDDQ:MT[^R"P$K+,[/)9DK.$[GC/O_LZ=D!.>*7*:";LO#+V<$R5,+/E(BL28K MR!G,O/A$?QUV.PC?[[V[(>WYG(T/*/4.7/!:,G)Z53(R<46Y8'AM(284F6?@ M# 0*9I0R(J62)#8_%;_Q_MV0\[R.OP\5;P?0^+"8)\2\?$62>KU<7L L4:3Y M$T>UET$H(3,O(H%=UIV=ZUIB9H@CE;4PK8\G'Z=J-Q@]J[/OQJKH %S;W<>3 M4C#55IH4@:2JN<\XT9S.UEKZB&G^>3;];\RO,W$T+>OF+B^62UPMKQ)U\HM9 MWDQ^K2G$M K/\>9/UJM0>4C!4Y LP9.)YY$6( ^198IQI!?96LYW\KD&)'(W ML#Z+T_.N]-F!55WW)ZI;PO75P7(23 I.H:7HVZ[[.68&W"2&(J/U.=&ERN=/G'[^0I'QB\MPYJ;)GUA"NQ=%$B-*UB,S..\?0@G]#@QX=;&Z6.!;H#_7N_F\W&R.<>04@=T>WFBT MP &<##MO +./4OG"D&]DG7?BLE'4L)*C=BFUF MP6O)O.%)*Z6**SNE20U9@/VDLP;V4NHN!=C[2+A#E%R5]Z!V(7B##%4]G=,J M,I]J6)ER2=JB]KM-IOB5"K#WTNQN!=C[B'GL8ZB[A5N*@D-=>^G8VEI'TZHA M 4E6$KKC@;0^Y=1($W>?30U2&N^A9*9HVU0CD=V?% M&23BQMB<$.V@GLPN7G9\R,8^(A?X7OE:_F^?%A,9VGZ M%45N')S]"V$Q"=8:5XL&G:I-;Z0M=5Q48E:*( J2Y0UIP,O= M0VCNR;TY$#@/W OI7WCV#=_.9ZLORXG(M?(P M6X8BD:RE0A:50%:4EHYST*(TKW\YAN">3.>3(_9(_3T_N-85>?K7?**MQMI& MEYR/3-N3YX7%>@&?DC&*28)9#BQA8M@59#*Q3M)=W#PY7Y"LZ&NI;Y>/+/DW=_G+SZ^/[M MR_?O3C^^>'GZZ<_7I__Q\H]/I^_?GGS\]/MT"9\_+_#S^D7S\A&_X>RB9F(< M?%MS]#L;7.*TY;O1W<[5.VI"X4MRU>H!_Y_3U9>7%\O5_!P7UX?^A#,>"RB" M70RUJ6YM;%\MH&O=U6M'THX^A_E)ZN\W4K\\3/QC@R..I#P??F) MAZO3<$5Q<#:1EDZPENEB#0L)#:MCF&LEKLAI)WOS"$:V$C#>%<&Q&IVW%N_8 M]T(GL_S'$A=7EQL*I2Z82!99>0H)#)E3C!2Q>A&MEQJ5DH\Y07S3#9SM9C&"_IZQ0YHJ[G7@O&D(DE%$"NT@)@QQ)_T__JYQSBX' D5CT8Z\<7Q8S/-%6KU??,+%MVFZ'.CE/10C9$6Z MJS>HG"RD*Y%E*2S]T1D8+QGP67OT>KB;(LG MN%Q-9Y\W/&V&H\=<)^88)A7D>OX(+.ALF$]1!$%\>;5;Q?A#;QD=#L=J<#Z$ M.#O!Q;K0=+EAH*#P/J7"'%BRI>N^"#IPQ@MP5)B$PMTRDNY[^GCNQG X.%Q\ M8^O_$YY/TWQ6Y3)?7 F(5%&!?0O5+B@3C=(L1U>')TG!0E; !/U8>P/:W)XY MM 44.[]RG'O+@9 RC*#'AL\_IQGGK\_A,UG!#?HI2E<9+ L<:EM6 G[D#FDQ M" Q9*+ %=L+)W6>/>+,U7LKBL$U"\H[EJ"4)$$Z\+O-%MKE;>-" ='B6ULG6_"KUE^OR)'Z=8^ M!U#JQ79F26#MHIQKFJ]RK*!WPL3"/=^M5=J#KQFGI^=@3D0K@7:0V7SR7V30 MOG_"=)4F\]OWU^0>+5>+RXG#9,((XM*Q"+6D7LG,8D3"?51%F62%%JV;ZC], MT@VO!RM40"2A%J08'A$:KU!/*P)&?$1RA"N>2:-\5XF*)Q M[VI;ZOX16!VAB/&WL1NAVUM8_!LWLX2=$LFM+;?BQ 6M0N8U!6TE6-3:*!Y1 M[;B%;7E%7_@X1HE;@^&#)3HV+EY6%2 MJSK/SU46R >#Z+0P%*>A+CM!X/[GC^N## 6$!K(<&PY7HIC"V4_F+!OI7(J> M"2=J4Y5".R@7Y**%4(#DI;3=+G*VF ME\9K UWT+J#P@DD7/$50FC//$\7I6:?D=#(^[7:GNN4%X\ZN&0H(+:39P:G$ MEL.;-]?E0EE&]%J0.9-U-'C*B@&G/W+T)BSS[4)+OTOG\+?$YF#UH)"+"]IS6@'BL7:T:M$LZB5Q:*3,+=O7G^)VKX4%+D(%##*X$OMH.J93THP M*Q0MUI@S^0Y/L\<^H]J^?;"R5VW?/MKH8)LE(=69!Y?CRS].E__^[?MO%)E^ M.2>W='U78DWPV23BHD3R2*T"Y@T XP)UDKDDX*T;B#Y&4Y<;Z ':GP^HBBZA MM>'F*EV 4[S$(V;FHC1,^Q#99:-FGJ(JL091K>WU8S2-"ZVV"'@47D>HHP-X M?8*SVH)DO?C>71^FQN)S=$ +T-2K%J5K"HH)K+;;TR%EZ57KIAWW$M(;D([1 M]>UN_D<+O@/TW+/43NF?KE<9C\&#XHZ5]=E(>("< MCFO3&N]V!RF@1RQ51JX6F@_2:Z,4DWH]2"IK5L]V&<5UTOJDA;I]/-H>2S_( MZ%'#@;ZC%PT,S;F)CG@?YG4^2PDR/]2W1PV4NC M.W5PV4>\8U_]7A^>;>G"/ M75SVTM.\D= Z<$0>O29"E8N@+92)5%O/ID"L"($L1"E1686BN6/[C&]VCXF4 MFJJB VC=\:E^S-T5$S2\Y.@2([IKNR,1&;@DF- >8]2)%L_@\=(->KH\:CY0 M\X]%38>JH0](W;GJV8R^_3Y)@B+(7"(S0F5:?!1EDM7E%&J&DDU1=:I*>TQM M)ZC+$YUFH&JDB-Y1=26V'Y.9)Q:2+!@="SG9.K&>8D)G!7/%.M1.%YM:]R?? MC\(NHZ\GP-UQJGJF.2(F?E.,D\<4Z+\10<9.L9CSK7/ 7!8I$4?U TZC0/3N_6[*R_G)9K MJ;^:4[!U$5?EXNQ%2O.+V6I)2Q6GWZKG_'%^=D9J^0L6>5(0Q9[$_D\LE_V0=5M4SNLWCK8]G=C<**3U%&KPI2O M36V*HIHQ4A:Q(DC(+&<2$X,#P. N->NCH8@5]Q,9WG3RM8K)K@\,-B M_FVZ)+7=P]L$/*U7BL:8,+6GM!>:^8B2.9.2X:"CX:T+_A^B9]R0YFDQUTPO M^R,M7")M5IUHS*=/;/+^7$Q7^+X4"9S*0Y+3TP, 4P4I(62BN0:5Q M;-\UB>/&.CT:P<.T-SY&+TOJ[[!SD^D?3CM]P>GGVJ%R:)U[5)#=W*P(NP>+>E>NCK2G3R9 MY:&.D$Y>?'SW^MT_/KUY_^G3AY./G_[CQ<>3(PZ#'GI<@V.=G:EM=$!S HO9 M=/9Y^0$7G[X05&_$SJ1^*: *93G:=C1T92@ZU%7ORLGFKK2VT'&N:_B1# M^X4VZ1??< &?\=U%O:E^7];O6+Z_6"U7,*OE>K_!?WOEA.#,AM(AJEHD&EC M! ,G,C,N.^^T_OT1OUXLTA?:\S\LYI\7 MXI]3& .7?*A:)&AQ5#B'M6@JM#+-WS.XHZN_ 0?AP!K-:$'@Y73/BZ7!-;H'$ 6(=NYCZ] N2CM3:J7V]KL CMZ?RLQEV MEHN46 03E@(I[3P9[X2"%4EBX3D&[>1C;MTN+^H#"8:+\YJUMPZ"/F*=L9/JO5S=%:XV@MI17]6C26$1F4X^,5 U/Y"' (4K M:W+<:5O=Z74CN^VC0V(^J'XZL*PWF+J\_=UT>4'DD9P5QK.B@-L7RR GP9*O MJ3I*9VQ?EG,_*2-OWKU L*7"1N[5=3I=56_H]2Q/OTWS!9RM]PX=HRN"UQ$T MAESG*H_@!6?&1P,I9QE@I[.U1RZ^[GWYN#?GXSJ(;332&Z1JM?#Z;)'DM_PR M_7HZ/Z&0:O5]TS98NVQ=DJ_MHVWB%*UG$EQT MW# E9 09-#&VHY.VP]LZ0DU+/<^'%/K8*'KY98KEY&],Z[RF]Z5,$R[6/WPU MG='>/H6SJQ^2]_#[]+),]UH*UWN^U!8D29'/!,&85!E"SA=H^Q M;?T+6Y SCJ/VI#A\>K6-#=1/.)O6"> SN'1 +EG8- _6D(.JN3(*R-TPN>;P M.\$P*P?"9R[$;D>\#[UE'-_L26'53,ACH^7>]4%+X=XEL@F8@RW>J,"P.)*: MMKX., K,6I.DS24I$(<;L8=?/D[-\O@FJZ%*NH3<-I-\.:UTS>22HJU[E]W$ M9 V<8V;*23+/Z!P+T6DFHJ)0.I ;''7[7747TL:I8!X?KD^FSK'!?,///9E] MFR[FL\LBHGN\7:>="N!KORO:#"A2HT^ZCETO&$"48D3:;7#][N\<9Y3U6(%& M2P5T<-#[3URN:I+I.JX7$A.1Q^KH"'(I,+*@LV0(!L"6())KG0MTX_7C-@KI MXS;V4&WT Z2KE582ESEQQY2NUQW:9A:<-TP:M#(J"G6:UYS^1,"X%U0'J_%^ M.!P@TPX L64=K1<*K25:;^]GN#&:68N"H@:\GC.=BV7!Q,1X"1Q,*D&*UITO M]R"O"S = H+=KM*/ULBS -OI7_,KUM GXVWM) "%1%A$9%'HS(R6NDC 5-). MTX&:@NV:O''O-9\2;(=II .PK9GX'5:7R2T9G'1@R:RK7 =#UJXD,DEFR-63 MP),&;-W+XR<"QNU?U8??=+A&>H+3U:IS4DNH/;>\JU,$N"#3BUZQG*32],G+ M.$A:Y \2.L@=.TR9VV!Q@&3'COG?PG>_^E*3?Z^,9 ;@$F1@(E-TJ;,Q+)18 MF"B02PPIZ]O=P;=$]K>?W(FV#]'1O)7 QM?V(GVQ:_+U9N!P/:T0P3"5DW5_2'8).Q4;-<=)T1 MD@+9/7*'$OE;2*P!5[LN\CL/'[EE<%.M'R&VD5.2/E9W:+VSH4>;E= L0JY9 MT=&RJ.II)!2KDU'1BYUZ'3V2;'3]PG'.:?MP% ^7? ]PN8[)Z]' M'EBT%AAFK]'11VMW:G2R"V#&SB$Z4%FWU7V Y,8>9SR=3<\OSC>W_$K4=L^9 M<8&6(G!=VT!K("L)&J-1%!C+!BK_Z:4C*_T0E3#*.YI@Y-0HG$RJ9V:T3XZPOKO/14_2*96$\4?++\.S@ >W1.W;8EO MKL?+V9BTL,DRZR*G0#G47@@BL2!TC,DJB_J)CC7WH'HGR+E?TR<92??/&>T_ M-XC^T1EIHK2(K@ZOM@[K/%?R%+SBD@67DS,V<].^O+E87"WR]7%[4,J^)CCDEYY%I M[TUMPBI8E,60GVR%X9*8Q-9]#_7W:^O_[[V>'HW7_T+5S<&V-+:1,0D6"BUGUYR MA05RZ1AJH\EK5U&:UO9\,&9&KB(<=PWT 9%?>:U\6,_1(5MR]:/Z>V*2#2_H M#; 2HR*=QE5D=AI>M1 M[3_SOVX[>+5E_^@$//%D:)(3CF'6B;9HK+/;+45ZRD 47B3>/*EQ(%9&SAEY M!HMG8'ATL$H.UL)EZ^/7L^5J<;$^&EG76YQ^@=G[K^O$^W_0(U;+U[-+:4T\ M>@NU/BT5ZYCF!9C/CJ(QB5YHT";:)V^HU(BWD:_4GFG(/B2 QK[4'U@H%#3" M=/%/.+O ":H<=0;!+.>!:>$Y\\X%9C2*1/MUS#LF!#T=S2,?]XZS7GK&12_[ M4'Q<,O&V9-9_7"4L?ZSSB^ITE]HB$S[C1!C:=JV-K&0$B@ZU9EXI\F"#!TX[ M,1=ND(J"UHSLM&+\+[9B^H%&+^NCPU;LJ"N[6)F,B78@\&LL2>)(# M1)*#49$I58R(P0:*\WKQRQ[A9:=5$G[E53(V0#I8*!MVWG_%.FQC]OD3?KX< MFBA3;5&0"C,RU9'92C"0EC,CH AGZ@@!U1CI6XG9[9:/_Z)8;:.C#L VG#]' MRZ_@E#RZZ_A'DPALS67Q=? GQ3^110.%<5%T9V6UZ_ZA5\ MGQAZSHOK9FAU:5?$I$2'F9O (O+(=/:2>5T' TN('KSRKK1N'-*2_MV6R*]Z M0S\:$I[;0,)/%^?GL/@^_VE0V,P,PIW>>&@8POWYKB/289HDN5.4* : MZT6<\/6^0#LFR,]1(H- ^[^3#._/8T:O3="FUDMXBL)47;\R(QD2!T&Z4+)M M;LG_=Y+AGI@=;I+A/NKOP(EY/2,CAI](R6OFWES=V*_+Q@1RXU-*C/X@5ERM M+P70#!/QYI1#?KM_Z-%(?H"<7V7.X5X F0^CK7Z!MYGC03&VX(*H]SJ0D%PA M=P@M,U*Y.N)#H6[=$>9!@L8%7S.U[P:G W30 :#J]D"K$\ZN^TCRD%6J"> J M6,ET*A1/RAB8QQ"EDBYFV3Z[_Q8170+G$ 7?2&0ET$A,S\D,A.Y(!$-01SQBT%&0Y,1651 ;9R=4INL9%'%<3O<=I\RPQ[2E)D M3AOK*<)P.!!W"?@5@&F2<1Z-P"K@TO!JL:UQ"RV&0UAIB50 LE_C+,[M%"@Z M"]>3V21[0;FS]U.BJ'.6Y():)E/.9/("&8H5')_-80KB:U&-G?NY99D#:XL"H9$3DW O+@O^4*E]2-OM5EA?>R3VRY&KI]1-K3F>^%4<6L=^)P)_ )# M@F,^$L=+1P&>;."U/*IT L&V%M>])%(!G/HS;L\4=865 F>7Y-@M1EQ8CJPQ M!ED<,1/"64I+O_X/04<%7;G[P:JK"S:TC"O ^7W%^8.)=]?L4&H6@[-(:0;. M;:(.:1XLT@8[J2+!VI8N4]NYF [>(N=R(WM',+?.149>W, XEJC*=7]AE)8Z)(- MYK6=H1RU]."0Y[GW(<["BB'2Z!BB$2C%/%F,PD_.B8BTM^!Y)QQ8JJ:DK2U1 M)]_KLIHS=#1D7NL9^K/)LXVGD^6/%4N.CH!-+2>I3Q>0?2RYB/-K^.MY1 M,7?4!F<0X0$4L\FE^HQ$%#75V"M"52BMCD9^1^VK--;OY!]OEHNEG87_3P()2?]PMH%S<7,H'+ MJ,7R*<.%=9<" P)(-(]')%@ASI6$GZQ$ A,=+6=4FVK\[EU$G&BLJB RASLL M/6#2^YQ\6_4,^+*T\V45I^5IU]E?Y\UB<:EX4IPDAT*@"7%G04"&<(2#2YI@ MPC NGIY3GHP3C4S5>V*.A4H-=TNVC//@F1C>WLSO6WBLR%X\SD4\_RO._03X M<*FYU8)+C4 YY A<-,@&HI"T@0>>!'6;#8>//PR==WFBT:,!L3ZLH+M#V=Q" M>1:OLA59A>I?]TH#2_>AZ[@'MYZSW"@M4@D\3P$9^".D==011\FD'Z2#<%DR M3C0H5*_J/Q8JK^*\/+<8I0Z)4A $(P)8(!5&6@:6 WB.V\0%+CZP:QS'HKZI M*/6>E>-@3N#:1;NH\I-_J/U;9LS?-:\T=23&(U$0>?>:9A3 MI#%HD92""H1CZ60U WP[TC:N W+"<:Q!P'.R,U(^;CS/K'AQ%[*0G@C'-%)" M,L1#KL"SV"(+(@J2PO^<._1^,=CNQG5*1L!_'7*NPQ7OW+5/\XF/^<9/ZQL_61YY"!B%).&.C3CD-L\41:P5<1P\.US-7(?>5([K MUYSPC3(PH/X^1^XRUBR0S<.6HC?!.&&H8;7%AEN2]FI>6 9! M^#@'LA/<3N=-9F?MP]9(^UX&$6UL""8BHZW-44N-M#,>!6:2H3YP+5\\8%>. MO%?SAE/%F1P)=KW/)7S8-:-7W6X\%+3CC_?1!>IRXC1E-YJL5VC'+6$-UTAHQY0CB@KL\ MNYJA1*/,#%.!U1;#/XK@5_,V5L7!K0::K^ \0]SZ/,F4,::PB MPDR0A&WDB=1V8DNZH*?P%G<*9W,(N-7T>O>L+N0V^>7L9OFUF4_^)X8_9H"G M1[DPN8W$XJFH,BL?/;NL.;>/7>32.<*9HP9Q+'*C" 8N>W ":2E#<,HR4&$O M4E[T,O2.>V;'CLF> LCJ>?F[TT(/.NJ6V&W\>/P*M%<_*6=$4-BAZ),&*R%1 M9'WNN6XD!XDJG]C!&J87V&>K]U2E4K^@4 M5L;_3M![;2?VX"6_FVT\,$*Q%8A@'?*@68Q,\ 01%B76TA(>2P\&JH3T5B=6 M_SRQ54#OU9F:N]ARR9.*-G"!L,1@@(,A"08X)@A[(44'J6)$U'*SE4]2?60:G%U=S5?E"^^!49/98N)7+3*"Z@3.JI.KUH88 M.982 I^5AZ2HQ_4T,#J6V'9)-?@5G;K16=X)7[4HR[$IGE M&THC2AXDC1@E@37BRG.DE8A(.&^ +=:&S:ES+U))T.4TE-74)_A4T^CH+ M89)_;Z?O9ZF97Z^^_5+=O_9^_*5;@K7G1!U]PK0EAH;@4)(J(9XM&DV51D*Z ME )QAKG2 \8KZ!-VQ+5W:T%NN&^K',^WL/O[%H"7. 5F7;+ 6 H:(!B+C'04 M!>^P%,3'* ?Q1X8G[:0[B77!>VF+:0CHU.)J''61;J1A7C3+K#Z?7*A$,Y^\ MC=6"Z3KJ:^>BS5!-H3LX*6P\%:=)G^'_, M)]D47=DC*RXMAFW!VNW;P]I@1_"A#A-,6!JU]PD9RA7X"M*BG(>#C/$J@O_" MJ"_];OYJ1EYJRX+%$24F;)Z\"&X6]P1A)1QCFNB$2\\>_CGRLBMF!QQYV4'\ M%1A*3R?A86N3SWFOW,(-Q>&F0E9@AAB/5EN+DQ>T,'9?Y\C++B#8._*RBT0J M@%-_QNT9>G.BQ451R@JQC,?<5-DA'2N$G;X#17&)5&JA;-U)Y@X/!\=&4 M%E8%B ./_[Z9+'^\GX$*N%F)9T<+7>FUM<0VLGD9'Y_"KEU>A08.9D+X(FEA&IFN:NFB5Y7XD[T; T+ M[E)'<%"DG4[_O-[L>=KA[-():K-]@1@E#'&JL^U!!3().,4"V+_TQ4.(A6BK MW.U^Y\WIRYS2RZYXPU0A/.)4HQY\0ZH9#&GB+-\FSSR)6/U;1M M[DA;Y4&'5WX"C\#9:0^K.M=0..O, N@(G 04M9L-:M9P0%PJWS@E%9 M/+^J+K^POMYVK^08'H.TFIK:#FV A2D@:J.W MFA@74S63JX9AP8GZF".'42N X]\CV'JX?$4Z'K"Q#*5LA7 G0B70"<5_NQCO8?91!EJ>4XT2ST,$P3P#^0?@9M N M.IJBK^?UOS3Q)WJ#_ZTTP9!X?M6&P-,0X&'&<>Z=5]0A@H4&/:H]50OD2G5J(/]%@]=]*$0R)YU>M"!Y-X3C,-4%H$"9)%*DS>=2JS96X%F'J MK-7HV"(ACQ6="C M!H>@F:VF><-+1P3J"\[_K<[^0"BN*;KO#O/-=>;;CC:9M]94EC5F1 E$HU9Y M@@)'FE!PF4)TB5M'N1PDBO_RI)ZHB5\P6E\YO.KLZW+^^Z??/O[S_'S5U^33 M'Y_?_./LRWEN9[+N4W(1_\HMH/NT;6F[=(&N++VHJ*/IBF%8Y3H8E(A-"#"C MD192(*:T9,H)%51ID^35-%TQ7F-KX>)+QL/IHQPYS F*@5 X>B%1+TLK]Y]- M5SIB=L"F*QW$7X$#=%?AN6K%()T(*3J%L,(4<1T(V*""(LINH,JGTR-2: MNISTE^0.2/1@Z]C=P\_!(FM^Q+@J^?YT,_=?X<1D>M9EW\PR3')/1,KRF)ML MKIKD# J.&(.3X4[80P9=FP_5@80^ FP&XF8%ZJ* =V:,)RKBK&GS:X-A%!E! M) I1&TF,LTI64]/XVZLKHC_BFGMAV9\RVK-5W-S,EN] E+_;^;_B[\ MYR#<)0$#-W",@0T^MT3&$3DA,*(&](GCA&A=NO/.D/2<:*Y83VR6.AJE@7+* MA^8VXWRMXQY-[KN,,1K!#$$X*0).(@&E%;1%!/#M3?")ZVKR+781<:()5",? MCR*0.+%PZ4/WY_,OGSX5:'K=\TM#!E,[T%A';%5AHICUX LF"?8_0 SL?ZMR MQ"I@%@'^XI7-%"EFY@SN/I>SZQ^ ,\=:3H:)AKRFVV@D"^V*K M7>11$9;6,:2HK+!8*T3!>('S*.$\>B>1X)[!;1V8*EX_4&ULM9,D]\=6N["U M]MAJ$HI1'1F27,C<2I@@0V) B3CB*?-$6'?(W#NYV&HG 7:)K7;A9@7JHDCF M"U/2@)-F2*88AX0.Q(B8(EREJ)DL/N;VM83..5.&*>V0D'"C<"(T M,C))%%P$9X)1T!O%[82?H?..F!TN=-Y%_!78$D\#? :SY*5!"E..>&)PWW M MD''$&Q_!$"J>4?\:0^>=(+ W=-Y!'A5AZ2Y$R"05,BF4$PV #2I7=&F.B/5Y MXA6A7I?.&:PW=-Y%D@="YQW86GOHW&B+O5 ^YT8Q4-F2H3S+'27!;,2)BQ3, M(A9L5J(L"CI@C,7?[CDB)U9RT:! H5X,8-UIKXX**U8QX M>'6A\V.NN1>6?2UH7SF!EUQHZ2T!RS1W[>&"@6_/'%BK"2Q;8U/6 $.@=O7U MDP]P=Y+[-MAU%T(M\%G<1C9OLXW7<85+)X/E0DFDM8R(*\F1T4PC29CCS&H% M/PR!IFV;.?G8\]'@.EI$=0;S/I]_N?C\QYL+^'88AG14.QS(_-U.)P#SSAIDD4_'@ M4.O-E0NA[?CD*H"SMAU\T%P9T+DNUTA8"C\I&Y&3QA!BL9:VN-)JO[UQ[\AA MT+0[XE566A7U,VZ!/SB!X>JI L/52U#R2B$?(S5)4:54 MZ:Y ![942^2K,!2V3:8N))<*8)9'=V^P;.WA._#PO<$2>9YXMB(\,L8 NQ2. M+FDF?(B% ;9S,Q7ILF-%W@S!_PJ ]'$6+R;7\2+.KR>SE6A^B;.8)LO%7;TY M9T0;*1$-@2%N(@9/VU*D/:%!"QYM\8FRA_8T+JP*B;X94 XUX"HW,WO"I#LZ M%.>4,8F4#!1.'0[(,240& W@$5MB0O'(_*Z]C.LQ#H2C$GP?$3^+^?+R<_:9 M5RJ:22=TH 19K6'33FMDK8](QL3 4R;>M$M/AE4? 05^]P"2)Q^L)3PZC"W4 MG[D>&"@\[C(N@@HN*M^C@<$OSCCXYS M!103?&_^56 S[G'8'J+D6%BC@@'.T)R<*J6 G\ L]EXZ'P1QTI;.$VJSKY'S MBL>/HO234&VH>\JQG!#MUS^32ZVPPSPE1*3*%K15R&4R"1<1"..6N]*1E;9[ MJS;0TA,5^V!72D0G\-CUT/7D"0?6>?J+(S+6^WRF].-8'^I>_-',*ZYMX (! MK,!VHI$@QP-#2C-,G#78X]*%+%4^FBGODO':(:^3!SZP@+3F'%&A2!0F*:V* M-Y][?8]F7=!TS*-9%VF-;/&_:6:+9CH)F8+SV?*67]GE34($DAC+)HJ "R,9 MX!6W>?*(%5X![W2KZ_: \;_K^Z?S+-9)V$UASE>(GG44E0:!O7 $J544E6") M;(3?6N-)$"JJE%IENO7 SYBO7^4D>P J/=@\=DKXGY,0FVES]>.!'I#&VEFF M3EFK/$9@)\(Q<@HC(U1"!G.2M(N4"7W(K#KXE;HPT4>$S1#\'!L8Y[/ODWDS MRTEY=GHQM[/%Y!$E,B:C'.6(F 1>A8H,?&2QR2'D<6I0H M>&9M$-'+T"H\W:DYPYX-G%"CS:M MNB0I,1/!S3-6(ZZ9 H?/4&2DD4QY"W24;B&Z=2.G\SQVC$URO QJ!-+ZH'D- MB(]P%!C6.78I,-*81OB%.4RI$,"TH:%4@WU20,B'8-.#XQ4 Y[Y$/.;QT3-_ ME\L0% ,/$BND;'YPICY/K(H8P6'2E%G/C"M=\K!C*Y4!IX^8F_(\']NJ^1R7 MP+V'X$ ,/G G(A(X9ZIBZQ&08N""IU8G)S5Q[7H:;RP\KM524OI'LVULD7^R M/V"YZ87]*R[@%E[_=GT9K^G!#/RZ!!J5>IMCU4H@HP#14AL*%%HP_&@K&+3X MV+CF27%HE&9O!9?+SKQV!BF@$$""=)ZWT MR_;U6X%!G (82C&Q BW2*E.-2>.C8QC90,#Q9\0A;:)'.'BX0S%.:?,AL)X, MT\&TRR@N= D)58>ZKW9^%1>7VA 7F= ()\$1YS'D^S<@QCPHUZ"2Y8-FDZ[W M49%+5$3:>^'4@_6GFR5ZYOW\QDX'3A+=^,H+Y8CNH^W%4T1IDH%$GO.98R[2 M5 19+BU**7FG):7>E'[_?;$4T2V%)%"JT8:O9JM2.E4MO]N";G4A@K250*805,XL8( M9*TSN>+1FN!XWL@+(*LB.!TKZ!8@ZL3UWLCY=CO996GGR^'LJX0E<" 2%&7( M94XZPOFR!N57/2FL#E8,JI6[V%$+.9BNM\-\WBV4F^#(:(173&#&C4M:R)%=?@JH5TD1"&$MLT"9@^S97 M41#S!2Z\X^53-_XNL11 2\+9PS6(2Y\-3DJ0RMDQ0N<>?H,F@'0QHUXF&OH2 M9E07KA]I1IW/PE!1AKNY0K^=0O.16J_ M_T*Q@T_-8AE7+_.K/-9U(Z^'*D!P[RQ #B4E\BQC^,E&A3-$I/:1*2**&Q=[ M=W2LYGD+J\UR"'BVG$_<3993?G-8)R?,?[=+.* YP/?H[^/<9U6;,(XI68E8 MC!+Q (?0"7 XK,)$$!-2+!YL[[_;D4S& M3@_0?)=P/?Q\^]G%^\_?B@1]FFQ:@$EV'7OA93= MNBCQ<_R6\R-G5_= 3$%Q(S2(7TNX1XVFN0U&0(Q:J;PD 8O2QWK77HY5$IR(%2$09)AS0 EH;9-+Z31V7%G"HXQ\ M( @]WTT5!<[#8.A(UE<'(N#/'S.X^2]IB%))XU'$&GR5!#_9W&HTI&"QE%$3 M5]J>W+Z3D6N=AP=/+Y:?BJ6SR;_WL]3,KU>?*6K[M/C.(-905_J&MH^D(2YY MT#O*6HRXQ )911F23GB.G; F%)_&-Y!]]&B\\6XF__)C_9>WM1*>)T*D-"@$ M0Q"/S""C*$?.4AG@^@;U6]P\[+[-2FVJ+MC9W4YU&&%5<%'N[Z1D$L=>LISJ MF2.)GDGD\I0A0Y*T*LB@B[^\'M^V[ 4:K@X$AT[MR[K(I@:@/>G(@Q-+#'.# MK'$R]QYPN><[0]$R@[4+7)2?KWHJ[H0[ F>7S0K-JY>A475A])-279-KK<#[38 MA<%P_PZ'=\V/!4(:!U31O!^:O:GU7=Z3P M*CJ ,G+:)Z# ,>0B!B#G29C""\EUJ_:GK1NW/_YZ+G[L,4@KN+L(N#ZA6H-/A=QJE*"7.J72I^,"+)QNH(CXT'*+Z M,[L"/;9J07EO3P+ZX1"L1X1^B,M+9CAC03IP:"C)K0(2,M9*E!R)424KA*2E M3?B].ZHBO#0\RYKR5S2. H M6#()_K9=7=^>CXS$ 1;-XHY[JTKK7FV;*,5=O3I8N=(QO?'3K.TTR+8@6LW@EB6 M=Y9_,VONB+K46%##,$6@-X$U).09TR0BK,#(TSHP+DL'D?9LIQ66S,EBJ90@ MCNUB5NXV>TS"$_?RDGIAH@H::9I?,944R'E%4=#48<>C,Z+X:]W>';4+1.*3 M!5=!>51PWSUHV[O0ZF1V T2MU7$S6_P2@8'Q]M^M9N><_[6<6Y#C)%?ZKOB9 M>R/DH&PSG:[X<7OZ+KE+5D#_!4@$V27\^@/!^:HRXNFK,0)JOV!]-/=A+>S][8;Q, Y!?PH:.SBZ<-9C[' M?]],%I-E_!+GWR<^WG8Z^AQ]#[=IX"J,%'!&;EK9PW,\$#?/'Z:-^$F3WZX"TYR&TR4 M5*/@B4:<D"V!.^(&A.W]/I;;]0UP^RB[Y8V93FDPGJ^EM MZ^R28YJ?'?6]83K_]*1WZ)IW8H)T@7)D10)LR:B03IHBP:325E/BHBA\=FNJ M>6?2XF"908)RGR>Q M-Z5E,#:0;CGQF(1U8KOB0BA*%:)JU=M/@5602^QLXI02;KS0K@20=FU@O#J1 M0H)M2G-Y1*CXW.YQ_N/RCR^7EA(%-B+X$#0RX &6R&DL$#$1?'*_\IBX5C.5L!*-KYIB%YG')%5+ ! 3]R M610+R-$02<0ICP@:V/CO7?%35>%S'Q-E,$E5@+X^A2,$2VVT4"@8DI\A9$# M5(^TH"H0FH)3^^ZMGQ4_O;!2H.*GB^!.)3SU6S.[FDZ^QW ;@G,_GIB:\VB+ M!J=:?VV0T%0_6H<.3.%@8F+.P[W-/>+&*N0,30 R'US"S%G2RKTYT< 4>"O" M<&417"APJ*PP2*>4;5"IK>0R.5]:&[Z>P%07[)0(3'41UMCQA)V^LZ?.NZ!R MN@C/\Y(I!J8QX&$0$8SD1'V[4.C?)S#52>RM E-=9# VD'9Z7-9809ER>5P[ M>$K@+2/GP!X(S$D:2& &M_)!7U-@JI-@6P6FNG"YCL"4TEAP)2.*)H(G3N$7 M;?+X*$X4!8,QL;V#S%]#8*J3T)X'IKIPL (O\''X)'"N-58>1:D(XD( #Z02 M"/X(B/&,^>+OC)4'IOI@X5C.5@"*5BZL,UX" W*7, $&G,]!N\ (8AI'867@ MIO@ JM<9F.ICH@PFJ0K0]VF>*PB6/_(0K>79+)S_^V;R+5.9.P;X0(-5$?0I M9A;QY'+@1.1)PDPS[[!2IG3)V;[]U.5<'2_]S6RX4J(HV$6F=U3IB842?;C] MP-E_[#Q<3*Z!?7E2V[19W,PW4JFWA8RVFCUYT5M ^?" H^U?Z!@FZKWY(V- M\*G+VZ]78'Y3% MW?%MQ9$1-?V3_<7EUR84EM?&FJ.8!/VDM9T;EA7=3>U5$4D]7 M'*474B\Y;>5$)5+*)_[-;!'FY<2TL>0HG8AZ:[_GO*A$4/]H_O.PO[(:<,?2 MH_3ZZ26X_;P968#W=^KD.H9WS3P7*_UIIT -F M;G?""I^_ ^J,TNNE^!-MQJ5IY#B3&<5K-%))>)4)[/PN3[Y-PLWY1 M/$90&TN-ZY3MYWESB %C'Z7I]&%?=Q'YHP[1M@5'D] .GC?M&%!!4/3V_,,_ M/G!H>A5J/EE[7&>YU2G:RY0*A+4J8_]ELXS];#ZWLZO5V_/BEQ\/_V9=,J!D*@#>^?6W:?,CQB]+,-(^ M?LNT'53E?="S^SOCOH<,*=VF(ZLK@,-J;V??'OK(?)Y$1VO6CVWW;;MTP1#*%)9WHNX6'J7+XO%NU 9?:A#='[,PG_ZX^A+] MS7RRG,3%V?7R>+EM776<]H7=I;:/)36([/RON?\TG^SM\]Y23@]+C=.#K[MP MGA%?@T1^A1M@^=8NXSL[F=\VXSI:-%O6'*=A77<9[6;'R,)Z>K)__/ZOY0I* M;[[.KC[YX]3>@:7'ZJ]8* 4G.>K%TF_.;#I JDW MN?>;XX/S6!4>+*W:1S^/#NH\M(RO9 M/.AB72*1[X"C@_3;UAM-7GOYWK1BPM_Z^600ZZ2M4'X^G/Q\..DDFP_-[$-L M2@CEZ4KC/33NXW5S@/"*[I4(2UY/9BN>9?U:[()YMO!H2JVO9="&36.KO*NK MY9JHHZ--3Y<:+0&TK[2VLV)D^=QM:&:G/Q:319GJ3MO9,](TOO MR_)?G^;^X_QB,3]?+">WY3PEL^1;?6"T3-&^4NW"MI$E_/%F"3I^MNK14TZ5 M[EYUM-31OK(\R*!Z+L /S?*?\?ZFCJ72N-M\8+1,T@*7Y4&VC2SA=[!H,XMW ME)9X$-VQY&@9I7VEN)\U=^PN).$V M3*Q0['].FNEZ[/,_FNOXYK9%QV_V/T/(?N_'QGLX+XF -ORL$ 9 \;]O['22 M)GZ]^PO[UR]Q%M-D>72R1*\/CO=47Q(.;?E:%R1 C4WM;+WA]]??66EG@S:\;#6+*!/WX?* 'JZ MU-8J$D MDMT+CY=]M5<433>^C"RZ3[$I(*>'5<;,*3G,ZV8/X>,G^<"6/A01Q^9:X]5" M=Q3*#B;\S%5\R9OF9W[BS_S$;K()_WW1K/SQ8X_'TY5&2Z/:=SJV$CNV *;3 M^VV5.1J;RXUWK6]E=].&]K&%W<:O%XW[1C1252^C2?%Q?4YIKCG:<>LMK!D+&C=/]>_CC[ MSSPL\A8+B&K;>N-U6&ZE]O:PH!;A#&R.=/G.>'&\/6+:)LV3L4&>$';^EY]> M@07U^=M\&9Z34/J$MOO<>$6:'67>F8,CB_Z?\_-9>)?;77Q,]T3\.I_EC;_Y M/@__G.>W]#"[.IN%/V;?%\M0 "]/UK'T>\FWZ8'R)Q!X]7:Y%>] !_SU/>P+P*3[UT8S"LO MHS=[Z]$B9XN/:4W&Q[1"\#T9A='1^Z.CE7D6UR&]F#UV&O/=QF_W.PO/[\U; MQ?=N&E:TO6EF8?%V#C^40DZA+8Q66%H&1V4%,3*JWGX/8?%Q_G'Y=7X..UQ\ M"A]G]]1\6.8__\_B^/5MQ:!D\%13#V4)QHE7]96=O*F^1*GT2]C6&/H MZ(J3[2N.]_[?3UY[^3)V>AEL)=SG8GU,:>)AW7>S,F?M\.KCJO'CW,H[$UZM?M.YK%V5>[ M'N;1Z&>QN6B6=EJB?&]SK=&ZI/0^AX M'4KZ6ID'V%.1]%8[>Z0A2@IQV]KCM1(U!CM&K MAQ@U>I[/S63Y(X\VN64EN#?7JQ%N;R<)-A.!VE+2[?BI\?J$]!1W/U:.[39N MJ)D_%ZM+9#7\[6LS!2Y_7I;R)+M]:KP6([UC=WU869W\/\3E^YEOK@O%T%M] M8+Q.(\5DO9MMU4GX69!Y*$GO^5 KB5<5.^K!QI$EOT7]9,K7P:\R0F_[C5;R MKBGZU)%YU1WRC\NO<3[P^=[^C5:BKBEPU9%Y8Y]JZVZF=O[;9+$L^-2]>]56 MXJPIG'6006,+\+EF.382LF/)5MD*-06S]K-F],C_G?(O+\!#:[>29$VAK);, M&OW:W##ACI7CU@5;":^F2,8^MHS=ZC3?S)FB0@+;MEXK>=44>=C#E!IBQ47& M8SU>J)6 :@H7;&/#Z+=911DS._07P=^<)'BZ-KXB.MR=^N,-^Q MF?UJ[;?UQM[&A9]/5O'\0@F/AY=O)<2:/.GV+!O]7@J3O"\[Y9A^?Z"NU#OF MH=5;2;8FI[HUP\:^UF:+V2^SM,RU*,4267>LV2JYO";W^@!S1G^*?B@C*O?F MO'W-5J*KR9\^P)Q:V]B_GRTFP,R+N5V-,)S/UJP'F3(SQ;>8YVA MG^V\?[;S[A;16LZG%W%^O?B8+N8!\%7&FM^S[&AGJ)N-<)@QHUL*>5;1Y_62IT2JJ>PKE"0/&'M=W,XT$.T&R51.:;\L8 MWDWMU5'BV;7F:-72W>1T@"7CA_.'D-F>94S95E=^&C)T8JB^ZO"YPRI2Q,6$MCN54>KASY* M#U8GMCN'87X]N9TN7D@3;JXX7@ET'VVX@Q]5R.K\KV^3>4E1;2PX7H%S'TEM MYT85@GI[<[NQ B*Z7VJ\Q]>O9*GX[UR>_K2TI)?HS^&;=OGAV:YWFJ9>'_[KU02 M_C]2SGOX-[Q&7_]%_L791?S__^=_ 5!+ P04 " "F@@=;?Y.+Z&,' "( M(P %P &EN='0M,C R-3 V,S!X97@S,3$N:'1M[5I1&^YA]V[E*OVWJXT(PVH+$:SD@;,_?K]6AH,&.R0\YV#KRY5 MPX;AQ$_UY7 BN;C\T_#/K1;[;+)J*@O/,BNYEX)53A5C]IN0 M[I:U6K74)U,NK!I//.MVNJ?L-V-OU8S'<:^\EI?+>8;'\7IX'!89ID8L+H=" MS9@2'QNJ?R;Z22;Z_.SD_*3?Z7X0O?/N>9K(M"L3<=KY9]* *L2CCO,++3\V MIJIH322M/S@Y+?W%7 D_&22=S@^-33ENQQ!-C?=F.DBZ$/7RSK>X5N-B$!R M0F[@;JV1&6WLX$TG_+N@D5;.ITHO!N^NK.+Z7=/QPK6TDZ&QS33 MTNUMYY]T*L.>2WL@7GVZ_G(S^FGTZ>IF].LOFVX]Z=!_R?R3'>8W+D=-]D5E M$VX%^Z7-_F)YX9OLK[;=9)FT7N4+YB?U,VDO;3^I=;H'[I;&>F8+]9.R4)9W6WYG)V:BXDD>2$!^Y YAP(9/ M%^RV,',MQ5@V8USJ: @C'2L,D@)6X*I@O%BPJO"VDK ;:2)D#(2)LRFNR$Z6 M\PRW+#-3Y9DW46Y+H)"9=([;!8E,^:W$NFMS.MP3, 9+ZI!NL 8)9,HBO4"L M@#H+C,/F$YQBYBKZ6.G/I97U).3 5#F-/$0I;:[\! ZZ4F;!0)JWA&E&P,T9 MU 1+%^O;\.H1USMTQ$F6JP(Q)7BL8M@$W"".8;LVKHH0;".OGNP-% N%$W<)(E*0P"X,P!'6,X%>S+N)BS7 M9NZ6H+1RK)RG_,$XW8QVP\KF&K;FLI@ I#-3+E 9I&01 MYJ%Z=D6"ZT1JI>8!5G4^7$&C69,L#2H0(FQQ1BL1>D17I4X)Q:TB!U3,VH': M"YJIT&XC-.PB!TAT&I1 &HLDISXFNX%8Q8961HQ/R^7I;@6RI) M$)0*?2F>1Z&' -OT(&&[-QUMH7=_(ML;Q #^3 G")G>FX,38W '75 L28-'( M+<$#."N>*JW\@I+TKF7I* 6_?KQFWQFO9^W>"?E\/>.Z"EQ$ MP91YCK).S1 &MZ,\0TFP!ZO&R]VU6@ F%,&(+E:$J:G\XVOOP_O\7EI2N9M_ MO2%AZ;*0#F=-QCU8]L:TP*O&EC@4+HS!VP8!=<%UN15&'F#L&[B/$K+)LLI2 MD->RW\9\4^,\[M 3/LSB,DQ1/S=A1UO".1 *)GH@5YN)WD6&=ITZ^:*ZM^5] MM&3"W7UY0!P6$"U%(/?@?4V\"S3EMU+7O?L#^>8S-N3Y^#V =NCTE;9#X?&< M6&*^N2(9XKQU#*[XAK#T#37"5G$)HSA*2V^LNT_(X08FFTZ5]U+N9/'4T%-; MC @%FX+Z$3 *TG1$ROA+I>WR,,G?*P63P_&IBBRT\N__W^G\IVCR2J-80O&F M ";J):DKS91$].MD>M]QS"6_I>P8BZ>0'T/9%QX7+I^R?!.FZN8@=O([V(D+ M*#IY3TX[\%>7B1"V]"X#P _)V2$SNVH*(&![@ALU^>]\$O6_D7@/I0FY0G[- M+8B@B?C*P%I 2'B,6T.I&1.6*F9&SR1EK8*/ZZ?1MB8Z.2VU64B,SB^0/86_\5RY7JX'8:.O=@>ZR7M?O_#H\.==O+HV)/3GK?/SQX? M_G>G[9Y@VNY>TQZ'G8B[@0UW)2\^-GJ-I4)]9@<=E@18+^=[0K1;WI'P^@MK M.O$/PQ,CTZB!< B0??OFI'_APN?NM\4[ /QRQ_SP+/H;6EI%^2NDS$\3)7-V M?2>SBCIC]FLL.!_\T.'K\-E 6D#G<3CP.XAW_>EPE-G=.4?5WGTUPN7PY0,W'!Q_3/^$N8X_ +G#U!+ P04 " "F@@=; M7RQV5G$' "G(P %P &EN='0M,C R-3 V,S!X97@S,3(N:'1M[5IM;]LX M$OY^OX+G8ML4L!W+L>/6<0-D^W+G+[?8W0![WPZ42-E$*%%+4G:]O_Z>(>78 MCITVO>RESN$*5+'$X7#(>?C,C*C)W!?ZG M89!):L3J]).%IUDL&@WPD^D_GY($]3R9->_U])"UTA M'OLXO]+R7:M096KT?6CMR'2>SCOSL+<_\V-5%P>WJ M I<9^J?&>U.,DS[Z>\ATN%:S6I5R;7O2[_T0QQ8R,Y9[9NUV%N1_V"F&;PC[9%,]?W'7ZZGGZ;O MKZZG/_UC=Z[;?M^;T'_)_,$!\UN7TS;[4)<9+]G?E"Y,;=LLD]:K?,7\G/N7 M+X9O+K[!]HN*"X'-U=$RQQ!OUNY16);2CSOTY$GGEW37UC_5F+M+\+9[/J(I M3]F<+R2S]PO/*6,],R3X96["DU_F9F9Q-RVOI/*C) M5@W X)"WS]HA_2-QR(_>1/E]@1*F4GGP&'T6Y8V=["EEL;LV?M MLX?7X$C@=;WCBU>N@4X3S6GKFSQ7N W^F3)N94 "/*M2+Z%SB2[ M?\ M4FM()&>\DPQ/Y.O0-1F*>!=O%65O980BZ6=$2%L(C8@A6QX\4+XS4(Z!:)YW M<0L)"L^/RW;.SK\[%D_XZ^\+QF%W%.;\03KDXW!."$Q?1TZ;8F;&:_?P+A2\ M4@D4-"/%<(@,%@I .@OE I5!2I9!#^6S&Q+<)E(K-0^P:N+A!AKMAF2I48$0 M88LS6HE01KHZ=4HH;A5-0,6H':B])$VUHT@:=J$+83<0GW$2!J& #)TJ)( J MJS4GOL:T@A&;B(P>,;YOIR7XE4H2!*6BOQ2/H]!C@&UZE+!],!WMH??A1/9@ M$ /X"R4(F]R9DA-C*JW\BH+TH6%I*P6T8BNI M"MS\_/&:?6>\GG?/!C3GCPNNZ\!%Y$R9YTCKU )N< ?2,Z0$#V#5>'LX5PO M1$])N,:K&MC&N!98TL<"Q=& MY^V#@*K@)MT*+7C]\C*(>&S[0<"J_GQ!KS[0W)$.=M8W##-X2E;\@1]I)+&,61 M6GICW6U #@^@K"B4]U(>9/'4(-A3BU"P*70_ 49!FHY(&7\IM5UO)OE[K6!R MV#YUF852_O7_*YT_BR:O-)(E)&\*8*):DJK23$EXOPFFMQ7'4O(;BHXQ>0KQ M,:1]X77A^BW+-V&J*0YB)7^ G;A 1R=OR>D _IHT$<*6#C$ _!"<'2)S/'+! M\H1I-.1_\$W4_T;@/98BY KQ-;<@@C;\*P-K 2'A-6X#I78,6*I<&+V0%+5* M/FO>1MN&Z&11:;.2:%W.360WO@-4 .N1 ;S[0'>?]9[8E1^P3H'AV)-[] OG M@5?UK';^Y8ODO'7.^W.W%,V9O\5^L1VZ:NZ'IU(O]MK.D M.QJ]N;>YUTWN;?N2VL%Y-QGU_W2UR9ON:'A_\[;:T[ 2<36PX*[BY;O666O= MH=FSXQY+ JS7^KX@VJ\^D_#V237M^+ONB9YI-4 X!LB^?#$87;APW3TE/@#< M)]S>QV/*^[F2.?MTRXT_Q9RRS:XI(*/"C>GEKS*STG.[NO/)P]>ALX.R@,S3 ML-D/D.[VUR.5<>$H9QQ?;2[DO=^3-&S1VW3AJ3.Z]O=WN?>3A]IEY9F?''JST.CT9 MK!BA)S\-?G8<.!5QL6:9AE@RHAF%0O'L$CY0ICZ!XU1:(Y%O)+]<:0B\H T? MA/S$KT@IUURG[*3V,S@J_P^.["*#I:";DP'E5\#IJP;OM=K=5M?W/;I M-;;UB+Q$U:706JPC/\@URA.1:<0AT6]Y6;J_O\@]X[YFU]HA*;_,(AM]Y:VV MB$4J9'3@V4_?2)R$K'FZB5X,)2?IBZ8BF7(4DSPIQ8K_R1 WNK9_OY0Q':-U MRC-6Q^@'WK-R;QB.ALN)M/S1['O"VCK0:"C\6PQ.9N,+$:X>#^;OQ^> M+V Q?:)X_2Z\=^?NR(7Y>&0Q^V';:SY1M#"K$8G^Z4VW^QCA\.H$YR MS^O ] P6;\8P'\Y>#\_'\PX2(:W/'!$*"@Q;&H6W1<:>'_@=KQ]ZS?)\(0H2GJ+L M!L6XFI"9,F MS#AZD!3.7?A%DDPWX:UTFW AF>+4G(=FF=&*LP07P\4UOV(P31(>,VE28#Q7 MD38![QFZFI 74A7H#;2 K[9EE5.[+4UPA(K MIVP#P]@FWY15$^4$PVEW^]]383FA%$]W)V6)CL).77,\,Q%'CKFSUY([]%_6 M\/>UZ'8.@M ][IJ@%YCNJKZ3(L5BCY';U)3;30E*]KG@DIDA1QD>;ED])%CG M$OSV(7UYP]UMP=X4:T6@WPM;2%VO;VIL1_I:W:=(7_"4Z.,9MI=UV8VPD6F" MIA3O6CIJ;@DWG2S'76YH;!HQ25- ,V:@(@XE,2:Y85%_T*5=Y2C81 MSVQBK%%_VY^9CZ],/XI)6ITFMDI*\>WH['KE^*QQ,-:T7KD2NU9TI.E]6=OM M=GJ/2CW7?U3V+:^![X9!ZX>[]7MNV/[Q;EL]UVN'.[D]LODMI\>^#]TSHC>]7K2JEUJD15^WA'UGR_T!V">0)(/F/;K?G!ZWC MOK*_#P_D]\[0?7:^IX=HIZ>3!QJ6+>0C.RT\,(]\_68M%\J..9%D*3%>'WW7 M5HT;WJT)62J1%OIQD^]_/5?]EB\1C^S+R[\ 4$L#!!0 ( *:"!UL3;Y E MG 0 ,X4 7 :6YT="TR,#(U,#8S,'AE>#,R,BYH=&WM6&UOVS80_KY? M<7/0-@$L1?);_)8 KN.L'H8XC1VT^S30(A5SE4F5I))XOWY'2LJ+$W?)T'G! ML" P9-\+[^YY>#RQOS#+Y*B_8(0>_=#_T?/@6$;9D@D#D6+$, J9YN(2/E&F MOX#G%5I#F:X4OUP8J 6U)GR2Z@N_(KG<<).PH])/?S__WM]WB_3GDJZ.^I1? M :>'%5X+65@/:=BD[4XC9IUVP.:,T5801 %K1*W?P@J:HGINH\TJ88>5)1?> M@MGUNXUF:GK7G)I%-PR"-Y6'>D1=HNI<&B.7W;"6&I3'4AB,0Z'?_#%W_WB1 M1\8]PVZ,1Q)^*;HN^\);:1')1*KN3N#^>E;BQ63)DU7WW4!QDKRK:B*TIYGB M<2[6_ ^&<:-K]_4ZS^D K1,N6)EC6 O>Y&M3%DE%#)>BFPG*E-6J'(T^?QB_ M'\^@7O-K#Y/:F$X]>)A.A% QM<5\*D=C,6/:P'!R?C8Y'\S&D].-L6\KT,:3 M@<)P=#X;GXR'+D@XNSB?7@Q.9S";O-: PS9<^%-_Z,-T-'1!A_5F4'VMX0ZF M,#B>G,U&Q\\J[K_(Y T)E%7N!"V8G,#LPPBF@_/W@]/1U)M\_F7T*PR&,RNI M!<%S=^AZP_D]TX;'JZTF-A8022%89#L.7'.S +-@\#$C"FNB^RK0(J6\BJD&9*9P11,_+^WBSJZO:F39!0 MF=HC][YZJ62I5?B?$C4G@FEO$'S.$N0\Q'"FUC6 MW3)1L:\95\R..]I"<0?L+D&Z*PB;NW3O%KX[WMYRML P[-0;B%ZG9XGUW/[7 M>JT(UEX1@EQ@HUGF?0E;FB%H2?%7AT@)+^&VIZ6*:8MDU8I)D@":,1L9XJQ3 MA%97G55\VQC0(>7.M>T'J)4E.1$D=C6WIE[K#?X+#C<$S9!YPDJ-N50X^7E8 MQX2DFG7+AQ[E.DW(JLN%JXLSZCWT9WEQ9;M21)+B7'$TR<5W<[0?Y+.TP2G9 MT'+E0NP[T;ZACV4M_^"@O5$:^.%&V;>\AFV_$VP6_UVWMX-=QQ [>$ M+G+^CNFX+;*U%O*-]ZQ!=HE#6#Z8'.1SR=H[Y%\G']C4*R]7+:A2ZI01YTW] MGUGR_T2>D\@KB.0_NMW>[C0.>MI]KLWFCT[/K?:\UQ/*2]]0GNA6CL7[;E9X M8AJY?\F62NV&G*YB"6)UQ39>NQ7#1G!G0N9:)IG9;/+RF[KB,[]/W'?WF'\" M4$L! A0#% @ IH('6U4PQ^T"(0 1 4! !X ( ! M &5X,3 Q " 3XA !E>#$P,G!L961G96%N M9&%SD$ &EN='0M,C R-3 V,S!X97@S,C$N:'1M4$L! A0#% @ MIH('6Q-OD"6 XML 113 intt-20250630_htm.xml IDEA: XBRL DOCUMENT 0001036262 2025-01-01 2025-06-30 0001036262 2025-08-01 0001036262 2025-06-30 0001036262 2024-12-31 0001036262 2025-04-01 2025-06-30 0001036262 2024-04-01 2024-06-30 0001036262 intt:AlfamationMember 2025-01-01 2025-06-30 0001036262 2024-01-01 2024-06-30 0001036262 us-gaap:CommonStockMember 2024-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2024-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2024-12-31 0001036262 us-gaap:RetainedEarningsMember 2024-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-12-31 0001036262 us-gaap:RetainedEarningsMember 2025-01-01 2025-03-31 0001036262 2025-01-01 2025-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-01-01 2025-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2025-01-01 2025-03-31 0001036262 us-gaap:CommonStockMember 2025-01-01 2025-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2025-01-01 2025-03-31 0001036262 us-gaap:CommonStockMember 2025-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2025-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2025-03-31 0001036262 us-gaap:RetainedEarningsMember 2025-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-03-31 0001036262 2025-03-31 0001036262 us-gaap:RetainedEarningsMember 2025-04-01 2025-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-04-01 2025-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2025-04-01 2025-06-30 0001036262 us-gaap:CommonStockMember 2025-04-01 2025-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2025-04-01 2025-06-30 0001036262 us-gaap:CommonStockMember 2025-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2025-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2025-06-30 0001036262 us-gaap:RetainedEarningsMember 2025-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-06-30 0001036262 us-gaap:CommonStockMember 2023-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2023-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001036262 us-gaap:RetainedEarningsMember 2023-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001036262 2023-12-31 0001036262 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001036262 2024-01-01 2024-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001036262 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0001036262 us-gaap:CommonStockMember 2024-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2024-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001036262 us-gaap:RetainedEarningsMember 2024-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001036262 2024-03-31 0001036262 us-gaap:RetainedEarningsMember 2024-04-01 2024-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-04-01 2024-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2024-04-01 2024-06-30 0001036262 us-gaap:CommonStockMember 2024-04-01 2024-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2024-04-01 2024-06-30 0001036262 us-gaap:CommonStockMember 2024-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2024-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2024-06-30 0001036262 us-gaap:RetainedEarningsMember 2024-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-30 0001036262 2024-06-30 0001036262 srt:MinimumMember 2025-06-30 0001036262 srt:MaximumMember 2025-06-30 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2022-03-31 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2025-06-30 0001036262 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2025-01-01 2025-06-30 0001036262 us-gaap:EmployeeStockOptionMember 2025-01-01 2025-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2025-01-01 2025-06-30 0001036262 us-gaap:RestrictedStockMember 2025-01-01 2025-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2025-01-01 2025-06-30 0001036262 intt:AlfamationMember 2024-03-12 2024-03-12 0001036262 intt:AlfamationMember 2024-06-01 2024-06-30 0001036262 intt:AlfamationMember 2024-03-12 0001036262 intt:AlfamationMember 2024-10-01 2024-12-31 0001036262 intt:AlfamationMember us-gaap:CustomerRelationshipsMember 2024-03-12 2024-03-12 0001036262 intt:AlfamationMember us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-12 2024-03-12 0001036262 intt:AlfamationMember us-gaap:TradeNamesMember 2024-03-12 2024-03-12 0001036262 intt:AlfamationMember 2024-01-01 2024-06-30 0001036262 us-gaap:MachineryAndEquipmentMember 2025-06-30 0001036262 us-gaap:MachineryAndEquipmentMember 2024-12-31 0001036262 us-gaap:LeaseholdImprovementsMember 2025-06-30 0001036262 us-gaap:LeaseholdImprovementsMember 2024-12-31 0001036262 intt:ElectronicTestMember 2025-06-30 0001036262 intt:ElectronicTestMember 2024-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2025-06-30 0001036262 intt:EnvironmentalTechnologiesMember 2024-12-31 0001036262 intt:ProcessTechnologiesMember 2025-06-30 0001036262 intt:ProcessTechnologiesMember 2024-12-31 0001036262 us-gaap:CustomerRelationshipsMember 2025-06-30 0001036262 us-gaap:PatentedTechnologyMember 2025-06-30 0001036262 us-gaap:PatentsMember 2025-06-30 0001036262 intt:CustomerBacklogMember 2025-06-30 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2025-06-30 0001036262 us-gaap:TradeNamesMember 2025-06-30 0001036262 us-gaap:TrademarksMember 2025-06-30 0001036262 us-gaap:CustomerRelationshipsMember 2024-12-31 0001036262 us-gaap:PatentedTechnologyMember 2024-12-31 0001036262 us-gaap:PatentsMember 2024-12-31 0001036262 intt:CustomerBacklogMember 2024-12-31 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2024-12-31 0001036262 us-gaap:TradeNamesMember 2024-12-31 0001036262 us-gaap:TrademarksMember 2024-12-31 0001036262 intt:AcculogicMember intt:PaymentsBasedOnPerformanceMetricsMember us-gaap:FairValueMeasurementsRecurringMember 2021-12-21 0001036262 intt:AcculogicMember intt:PaymentsBasedOnPerformanceMetricsMember us-gaap:FairValueMeasurementsRecurringMember 2021-12-21 2021-12-21 0001036262 intt:AcculogicMember intt:PaymentsBasedOnPerformanceMetricsMember us-gaap:FairValueMeasurementsRecurringMember 2025-06-30 0001036262 intt:AcculogicMember intt:PaymentsBasedOnPerformanceMetricsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001036262 intt:AcculogicMember intt:PaymentsBasedOnPerformanceMetricsMember us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001036262 us-gaap:InterestRateSwapMember 2025-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2025-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2025-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2025-06-30 0001036262 intt:AcculogicMember 2025-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel1Member 2025-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel2Member 2025-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2025-06-30 0001036262 us-gaap:InterestRateSwapMember 2024-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2024-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2024-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2024-12-31 0001036262 intt:AcculogicMember 2024-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel1Member 2024-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel2Member 2024-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2024-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2025-03-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2024-03-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2024-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2023-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2025-04-01 2025-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2024-04-01 2024-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2025-01-01 2025-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2024-01-01 2024-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2025-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2024-06-30 0001036262 srt:MinimumMember 2025-01-01 2025-06-30 0001036262 srt:MaximumMember 2025-01-01 2025-06-30 0001036262 intt:AlfamationMember intt:WarehouseAndOfficeSpaceMember 2025-06-30 0001036262 intt:AlfamationMember intt:WarehouseAndOfficeSpaceMember 2024-03-12 2024-03-12 0001036262 us-gaap:LetterOfCreditMember 2025-01-01 2025-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2025-01-01 2025-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2025-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2024-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2025-01-01 2025-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2025-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2024-12-31 0001036262 us-gaap:LetterOfCreditMember 2025-06-30 0001036262 us-gaap:LetterOfCreditMember 2024-12-31 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 0001036262 us-gaap:RevolvingCreditFacilityMember intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2025-06-30 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember 2025-06-30 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 2021-10-15 0001036262 us-gaap:RevolvingCreditFacilityMember intt:October2021AgreementMember intt:MTBankMember 2021-10-15 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember 2022-09-20 0001036262 intt:October2021AgreementMember intt:MTBankMember 2025-06-30 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-28 2021-10-28 0001036262 us-gaap:RevolvingCreditFacilityMember intt:October2021AgreementMember intt:MTBankMember 2021-10-28 2021-10-28 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-28 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-12-29 2021-12-29 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2025-06-30 0001036262 intt:AlfamationMember 2025-06-30 0001036262 intt:AlfamationMember 2025-06-30 0001036262 intt:AlfamationMember intt:DebtInstrumentLongtermFixedInterestRateDebtMember 2025-06-30 0001036262 intt:AlfamationMember intt:DebtInstrumentShorttermVariableInterestRateDebtMember 2025-06-30 0001036262 intt:EndUserMember 2025-04-01 2025-06-30 0001036262 intt:EndUserMember 2024-04-01 2024-06-30 0001036262 intt:EndUserMember 2025-01-01 2025-06-30 0001036262 intt:EndUserMember 2024-01-01 2024-06-30 0001036262 intt:OemIntegratorsAndDistributorMember 2025-04-01 2025-06-30 0001036262 intt:OemIntegratorsAndDistributorMember 2024-04-01 2024-06-30 0001036262 intt:OemIntegratorsAndDistributorMember 2025-01-01 2025-06-30 0001036262 intt:OemIntegratorsAndDistributorMember 2024-01-01 2024-06-30 0001036262 intt:ThermalTestingProductsMember 2025-04-01 2025-06-30 0001036262 intt:ThermalTestingProductsMember 2024-04-01 2024-06-30 0001036262 intt:ThermalTestingProductsMember 2025-01-01 2025-06-30 0001036262 intt:ThermalTestingProductsMember 2024-01-01 2024-06-30 0001036262 intt:ThermalProcessMember 2025-04-01 2025-06-30 0001036262 intt:ThermalProcessMember 2024-04-01 2024-06-30 0001036262 intt:ThermalProcessMember 2025-01-01 2025-06-30 0001036262 intt:ThermalProcessMember 2024-01-01 2024-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2025-04-01 2025-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2024-04-01 2024-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2025-01-01 2025-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2024-01-01 2024-06-30 0001036262 intt:VideoImagingMember 2025-04-01 2025-06-30 0001036262 intt:VideoImagingMember 2024-04-01 2024-06-30 0001036262 intt:VideoImagingMember 2025-01-01 2025-06-30 0001036262 intt:VideoImagingMember 2024-01-01 2024-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2025-04-01 2025-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2024-04-01 2024-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2025-01-01 2025-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2024-01-01 2024-06-30 0001036262 intt:AlfamationMember 2025-04-01 2025-06-30 0001036262 intt:AlfamationMember 2024-04-01 2024-06-30 0001036262 intt:AlfamationMember 2025-01-01 2025-06-30 0001036262 intt:AlfamationMember 2024-01-01 2024-06-30 0001036262 intt:ServiceAndOtherProductsMember 2025-04-01 2025-06-30 0001036262 intt:ServiceAndOtherProductsMember 2024-04-01 2024-06-30 0001036262 intt:ServiceAndOtherProductsMember 2025-01-01 2025-06-30 0001036262 intt:ServiceAndOtherProductsMember 2024-01-01 2024-06-30 0001036262 intt:SemiconductorMarketMember 2025-04-01 2025-06-30 0001036262 intt:SemiconductorMarketMember 2024-04-01 2024-06-30 0001036262 intt:SemiconductorMarketMember 2025-01-01 2025-06-30 0001036262 intt:SemiconductorMarketMember 2024-01-01 2024-06-30 0001036262 intt:AutomotiveMember 2025-04-01 2025-06-30 0001036262 intt:AutomotiveMember 2024-04-01 2024-06-30 0001036262 intt:AutomotiveMember 2025-01-01 2025-06-30 0001036262 intt:AutomotiveMember 2024-01-01 2024-06-30 0001036262 intt:DefenseAerospaceMember 2025-04-01 2025-06-30 0001036262 intt:DefenseAerospaceMember 2024-04-01 2024-06-30 0001036262 intt:DefenseAerospaceMember 2025-01-01 2025-06-30 0001036262 intt:DefenseAerospaceMember 2024-01-01 2024-06-30 0001036262 intt:IndustrialMarketMember 2025-04-01 2025-06-30 0001036262 intt:IndustrialMarketMember 2024-04-01 2024-06-30 0001036262 intt:IndustrialMarketMember 2025-01-01 2025-06-30 0001036262 intt:IndustrialMarketMember 2024-01-01 2024-06-30 0001036262 intt:LifeSciencesMember 2025-04-01 2025-06-30 0001036262 intt:LifeSciencesMember 2024-04-01 2024-06-30 0001036262 intt:LifeSciencesMember 2025-01-01 2025-06-30 0001036262 intt:LifeSciencesMember 2024-01-01 2024-06-30 0001036262 intt:SecurityMember 2025-04-01 2025-06-30 0001036262 intt:SecurityMember 2024-04-01 2024-06-30 0001036262 intt:SecurityMember 2025-01-01 2025-06-30 0001036262 intt:SecurityMember 2024-01-01 2024-06-30 0001036262 intt:OtherMultiMarketsMember 2025-04-01 2025-06-30 0001036262 intt:OtherMultiMarketsMember 2024-04-01 2024-06-30 0001036262 intt:OtherMultiMarketsMember 2025-01-01 2025-06-30 0001036262 intt:OtherMultiMarketsMember 2024-01-01 2024-06-30 0001036262 intt:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2025-04-01 2025-06-30 0001036262 intt:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2025-01-01 2025-06-30 0001036262 intt:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-04-01 2024-06-30 0001036262 intt:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-06-30 0001036262 2025-03-05 0001036262 intt:The2023StockIncentivePlanMember 2025-06-30 0001036262 intt:The2023StockIncentivePlanMember 2023-06-21 0001036262 us-gaap:CostOfSalesMember 2025-04-01 2025-06-30 0001036262 us-gaap:CostOfSalesMember 2024-04-01 2024-06-30 0001036262 us-gaap:CostOfSalesMember 2025-01-01 2025-06-30 0001036262 us-gaap:CostOfSalesMember 2024-01-01 2024-06-30 0001036262 us-gaap:SellingAndMarketingExpenseMember 2025-04-01 2025-06-30 0001036262 us-gaap:SellingAndMarketingExpenseMember 2024-04-01 2024-06-30 0001036262 us-gaap:SellingAndMarketingExpenseMember 2025-01-01 2025-06-30 0001036262 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-06-30 0001036262 us-gaap:ResearchAndDevelopmentExpenseMember 2025-04-01 2025-06-30 0001036262 us-gaap:ResearchAndDevelopmentExpenseMember 2024-04-01 2024-06-30 0001036262 us-gaap:ResearchAndDevelopmentExpenseMember 2025-01-01 2025-06-30 0001036262 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-06-30 0001036262 us-gaap:GeneralAndAdministrativeExpenseMember 2025-04-01 2025-06-30 0001036262 us-gaap:GeneralAndAdministrativeExpenseMember 2024-04-01 2024-06-30 0001036262 us-gaap:GeneralAndAdministrativeExpenseMember 2025-01-01 2025-06-30 0001036262 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-06-30 0001036262 intt:The2023StockIncentivePlanMember 2025-01-01 2025-06-30 0001036262 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-06-30 0001036262 us-gaap:RestrictedStockMember 2024-12-31 0001036262 us-gaap:RestrictedStockMember 2025-06-30 0001036262 us-gaap:RestrictedStockMember 2025-04-01 2025-06-30 0001036262 us-gaap:RestrictedStockMember 2024-04-01 2024-06-30 0001036262 us-gaap:RestrictedStockMember 2024-01-01 2024-06-30 0001036262 intt:PresidentOfProcessTechnologiesMember intt:PerformancebasedRestrictedStockMember 2024-01-16 2024-01-16 0001036262 srt:MinimumMember intt:PresidentOfProcessTechnologiesMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-01-16 2024-01-16 0001036262 srt:MaximumMember intt:PresidentOfProcessTechnologiesMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-01-16 2024-01-16 0001036262 intt:PresidentOfProcessTechnologiesMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2025-01-01 2025-06-30 0001036262 2024-03-06 2024-03-06 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember 2024-03-06 2024-03-06 0001036262 srt:MinimumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-03-06 2024-03-06 0001036262 srt:MaximumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-03-06 2024-03-06 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2025-01-01 2025-06-30 0001036262 2025-03-17 2025-03-17 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember 2025-03-17 2025-03-17 0001036262 srt:MinimumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2025-03-17 2025-03-17 0001036262 srt:MaximumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndDivisionPresidentsMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2025-03-17 2025-03-17 0001036262 intt:SeniorManagementMemberMember us-gaap:PerformanceSharesMember 2021-10-01 2021-10-01 0001036262 intt:SeniorManagementMemberMember 2024-01-01 2024-12-31 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember us-gaap:PerformanceSharesMember 2022-03-09 2022-03-09 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember 2024-01-01 2024-12-31 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember us-gaap:PerformanceSharesMember 2025-06-30 0001036262 srt:MinimumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-03-08 2023-03-08 0001036262 srt:MaximumMember intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-03-08 2023-03-08 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2025-01-01 2025-03-31 0001036262 intt:ChiefExecutiveOfficerChiefFinancialOfficerAndOtherMembersOfSeniorManagementMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2025-01-01 2025-06-30 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember us-gaap:PerformanceSharesMember 2023-05-08 2023-05-08 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember us-gaap:PerformanceSharesMember 2024-03-06 2024-03-06 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember us-gaap:PerformanceSharesMember 2025-03-17 2025-03-17 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember intt:May8th2023Member 2025-01-01 2025-03-31 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember intt:March6th2024Member 2025-01-01 2025-03-31 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember intt:March17th2025Member 2025-01-01 2025-03-31 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember us-gaap:PerformanceSharesMember 2025-06-11 2025-06-11 0001036262 us-gaap:PerformanceSharesMember 2024-12-31 0001036262 us-gaap:PerformanceSharesMember 2025-01-01 2025-06-30 0001036262 us-gaap:PerformanceSharesMember 2025-06-30 0001036262 us-gaap:PerformanceSharesMember 2025-04-01 2025-06-30 0001036262 us-gaap:PerformanceSharesMember 2024-04-01 2024-06-30 0001036262 us-gaap:PerformanceSharesMember 2024-01-01 2024-06-30 0001036262 us-gaap:RestrictedStockUnitsRSUMember 2024-12-31 0001036262 us-gaap:RestrictedStockUnitsRSUMember 2025-01-01 2025-06-30 0001036262 us-gaap:RestrictedStockUnitsRSUMember 2025-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2025-01-01 2025-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2021-06-23 0001036262 intt:EmployeeStockPurchasePlanMember 2025-04-01 2025-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2024-04-01 2024-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2024-01-01 2024-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2025-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2025-03-31 0001036262 intt:EmployeeStockPurchasePlanMember 2024-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2024-03-31 0001036262 us-gaap:OneTimeTerminationBenefitsMember 2025-06-30 0001036262 srt:MinimumMember us-gaap:OtherRestructuringMember 2025-06-30 0001036262 srt:MaximumMember us-gaap:OtherRestructuringMember 2025-06-30 0001036262 intt:VideologyConsolidationMember us-gaap:EmployeeSeveranceMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember us-gaap:EmployeeSeveranceMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:RetentionMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:RetentionMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:PayrollTaxesAndPayrollRelatedMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:PayrollTaxesAndPayrollRelatedMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:VideologyConsolidationMember us-gaap:OtherRestructuringMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember us-gaap:OtherRestructuringMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:CorporatePortionMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember intt:CorporatePortionMember 2024-04-01 2024-06-30 0001036262 intt:VideologyConsolidationMember 2025-04-01 2025-06-30 0001036262 intt:VideologyConsolidationMember 2024-04-01 2024-06-30 0001036262 intt:EnvironmentalTransitionMember us-gaap:EmployeeSeveranceMember intt:EnvironmentalTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember us-gaap:EmployeeSeveranceMember intt:EnvironmentalTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:PayrollTaxesAndPayrollRelatedMember intt:EnvironmentalTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:PayrollTaxesAndPayrollRelatedMember intt:EnvironmentalTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:EnvironmentalTechnologiesMember 2025-04-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:EnvironmentalTechnologiesMember 2025-01-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:CorporatePortionMember 2025-04-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember intt:CorporatePortionMember 2024-04-01 2024-06-30 0001036262 intt:EnvironmentalTransitionMember 2025-04-01 2025-06-30 0001036262 intt:EnvironmentalTransitionMember 2024-04-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2025-04-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2025-04-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2025-04-01 2025-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2025-04-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2025-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2024-04-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2024-04-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2024-04-01 2024-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2024-04-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2024-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2025-01-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2025-01-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2025-01-01 2025-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2025-01-01 2025-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2024-01-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2024-01-01 2024-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2024-01-01 2024-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2024-01-01 2024-06-30 0001036262 country:US 2025-04-01 2025-06-30 0001036262 country:US 2024-04-01 2024-06-30 0001036262 country:US 2025-01-01 2025-06-30 0001036262 country:US 2024-01-01 2024-06-30 0001036262 us-gaap:NonUsMember 2025-04-01 2025-06-30 0001036262 us-gaap:NonUsMember 2024-04-01 2024-06-30 0001036262 us-gaap:NonUsMember 2025-01-01 2025-06-30 0001036262 us-gaap:NonUsMember 2024-01-01 2024-06-30 0001036262 country:US 2025-06-30 0001036262 country:US 2024-12-31 0001036262 us-gaap:NonUsMember 2025-06-30 0001036262 us-gaap:NonUsMember 2024-12-31 shares iso4217:USD iso4217:USD shares intt:segment pure iso4217:EUR utr:sqft intt:payment iso4217:CAD 0001036262 false Q2 2025 --12-31 P1Y P1Y P3Y 10-Q true 2025-06-30 false 001-36117 InTest Corporation DE 22-2370659 804 East Gate Drive, Suite 200 Mt. Laurel NJ 08054 856 505-8800 Common Stock, par value $0.01 per share INTT NYSEAMER Yes Yes Accelerated Filer true false false 12477676 19248000 19830000 464000 423000 23349000 29495000 27610000 26837000 4640000 2650000 74847000 78812000 9513000 8830000 4677000 4457000 10071000 10767000 32437000 30744000 26647000 26376000 0 67000 974000 1065000 149653000 152288000 6426000 7494000 2100000 1989000 6981000 7991000 5598000 4989000 9853000 9485000 30958000 31948000 8316000 9021000 3667000 7538000 441000 825000 1367000 1432000 525000 0 1787000 1734000 47061000 52498000 0.01 0.01 5000000 5000000 0 0 0 0 0 0 0.01 0.01 20000000 20000000 12559753 12457658 12477676 12378276 125000 124000 58604000 57658000 42255000 45087000 2567000 -2137000 82077 79382 959000 942000 102592000 99790000 149653000 152288000 28130000 33991000 54767000 63815000 16157000 20194000 31738000 36942000 11973000 13797000 23029000 26873000 3829000 4105000 8376000 8695000 2245000 2218000 4693000 4200000 5760000 6241000 11576000 11658000 850000 897000 1663000 1492000 216000 0 529000 0 12900000 13461000 26837000 26045000 -927000 336000 -3808000 828000 119000 253000 271000 393000 463000 213000 707000 648000 -583000 296000 -3372000 1083000 -80000 66000 -540000 191000 -503000 230000 -2832000 892000 -0.04 0.02 -0.23 0.07 -0.04 0.02 -0.23 0.07 12215258 12234599 12197338 12130480 12215258 12330280 12197338 12244289 -503000 230000 -2832000 892000 -24000 -44000 -59000 -58000 3266000 -697000 4763000 -786000 3242000 -741000 4704000 -844000 2739000 -511000 1872000 48000 12457658 124000 79382 -942000 57658000 45087000 -2137000 99790000 -2329000 -2329000 1462000 1462000 423000 423000 134196 1000 -1000 0 27365 4925 18000 18000 5374 36000 36000 646 5000 5000 12574788 125000 80028 -947000 58134000 42758000 -675000 99395000 -503000 -503000 3242000 3242000 435000 435000 19627 4592 35000 35000 2049 -12000 12559753 125000 82077 -959000 58604000 42255000 2567000 102592000 12241925 122000 75758 -901000 54450000 42196000 414000 96281000 662000 662000 -103000 -103000 349000 349000 187432 2000 2084000 2086000 138838 1000 -1000 0 11200 4925 18000 18000 4104 54000 54000 2757 30000 30000 12566024 125000 78515 -931000 56954000 42858000 311000 99317000 230000 230000 -741000 -741000 564000 564000 21155 1000 97000 98000 4483 45000 45000 867 11000 11000 12591662 126000 79382 -942000 57660000 43088000 -430000 99502000 -2832000 892000 3306000 2806000 304000 306000 858000 913000 205000 347000 383000 -47000 -6865000 5693000 -203000 -1966000 438000 -1296000 36000 118000 -966000 -765000 -898000 -1899000 272000 -861000 -883000 -851000 -65000 -75000 -665000 -1326000 4847000 -3015000 0 18727000 691000 656000 -691000 -19383000 3613000 1120000 2050000 3129000 18000 116000 60000 84000 17000 41000 -5602000 -1850000 864000 -642000 -582000 -24890000 19830000 45260000 19248000 20370000 145000 1153000 266000 406000 0 2086000 1039000 1580000 557000 138000 NATURE OF OPERATIONS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">InTest Corporation (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">InTest,</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">we</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">our</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">us</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Company</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), a Delaware corporation headquartered in Mount Laurel, New Jersey,</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">is a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including semiconductors (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">semi</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), auto/EV, defense/aerospace, industrial, life sciences, safety/security and other. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated entity is comprised of InTest Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada, Italy and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Italy, Germany, Singapore, Malaysia, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Founded in 1981, we completed our initial public offering in June 1997 and currently trade on the NYSE American exchange under the symbol “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">INTT</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.”</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The semi market, which includes both the broader semi market, as well as the more specialized automated test equipment (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ATE</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) and wafer production sectors within the broader semi market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Electronic Test segment sells its products to semiconductor manufacturers and third-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">OEM</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and third-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the December 2021 acquisition of Acculogic Inc. and its affiliates (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Acculogic</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) and the March 2024 acquisition of Alfamation S.p.A (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Alfamation</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">™</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), our Electronic Test segment also sells its products to customers in markets outside the semi market including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the auto/EV, defense/aerospace, industrial, life sciences and safety/security markets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financial results are affected by a wide variety of factors, including, but not limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that may cause us to incur substantial expense in reviewing and evaluating potential transactions. We may or may not be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we may not be able to successfully integrate any business we do acquire with our existing business, and we may not be able to operate the acquired business profitably. As a result of these or other factors, we may experience significant period-to-period fluctuations in future operating results.</span></div> 3 3 3 SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES<div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(a) Basis of Presentation and Use of Estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">U.S. GAAP</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2024 Form 10-K</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) filed on March 13, 2025, with the Securities and Exchange Commission (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">SEC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”).</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(b) Reclassifications</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior period presentation and amounts have been reclassified to conform with the current period’s presentation. These consist of:</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating the components of property and equipment on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions and other current liabilities into accrued expenses and other current liabilities on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating our restricted certificates of deposit into other assets on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">disaggregating amortization of acquired intangible assets from general and administrative expenses on the face of our consolidated statements of operations</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating foreign exchange (gain) loss, discount on shares sold under Employee Stock Purchase Plan, proceeds from sales of demonstration equipment, net of gain, into other non-cash reconciling items within adjustments to reconcile net (loss) earnings to cash provided by operating activities on the consolidated statements of cash flows</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions, other current liabilities and other liabilities into accrued and other liabilities within changes in assets and liabilities for cash flows from operating activities on the consolidated statements of cash flows.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(c) Business Combinations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statements of operations in the period of the estimated </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (3) Acquisition</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for further disclosures related to our March 12, 2024, purchase of Alfamation™.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(d) Cash &amp; Cash Equivalents</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Periodically we have restricted cash which represents amounts deposited at our banks to support bank guarantees which certain of our customers require as a condition of paying large deposits on orders they place with us. Typically, the amount of the deposit and related guarantee declines as shipments are made against the order. At June 30, 2025 and December 31, 2024, we had no amounts classified as restricted cash.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(e) Trade Accounts Receivable and Allowance for Credit Losses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers’ financial condition. We follow the guidance in Accounting Standards Codification (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) Topic 326 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments – Credit Losses</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 326</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(f) Inventories</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are generally valued at cost on a first-in, first-out basis, not in excess of net realizable value, except inventory acquired in a business combination, which is recorded at fair value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(g) Property and Equipment</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our property and equipment caption includes machinery, equipment and leasehold improvements which are stated at cost, except for machinery and equipment acquired in a business combination, which are stated at fair value at the time of acquisition. As disclosed in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(h) Goodwill, Intangible and Long-Lived Assets</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” machinery and equipment that has been determined to be impaired is written down to its fair value at the time of the impairment. Depreciation for machinery and equipment is based upon the estimated useful life of the assets using the straight-line method. The estimated useful lives range from <span style="-sec-ix-hidden:f-423">one</span> to ten years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(h) Goodwill, Intangible and Long-Lived Assets</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for goodwill and intangible assets in accordance with ASC Topic 350 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 350</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ROU</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management’s best estimates using appropriate assumptions and projections at that time.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(i) Fair Value of Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC Topic 820 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurement</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 820</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1: Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2: Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3: Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument’s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financial instruments include cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short-term nature of those items. Our credit facility and our interest rate swap are discussed further below and in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.” Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (7) Fair Value Measurements</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for further disclosures related to the fair value of our liabilities for contingent consideration.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(j) State and Local Grant Funds Received</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell Corporation (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Ambrell</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $0.6 million to help offset a portion of the cost of the leasehold improvements we made to this facility. In exchange for the funds we received under these agreements, we were required to create and maintain specified levels of employment in this location through various dates ending in 2024. As of December 31, 2024, we met those employment targets as specified in the grant agreement with the city of Rochester. The remaining proceeds which were no longer subject to repayment were reclassified to deferred grant proceeds and will be amortized to income on a straight-line basis over the current remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheets and totaled $0.3 million at June 30, 2025.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(k) Leases</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for leases in accordance with ASC Topic 842 -</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 842</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have made an accounting policy election not to apply the recognition requirements of ASC 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (9) Leases</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for further disclosures regarding our leases.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(l) Interest Rate Swap Agreement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (7) Fair Value Measurements</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.” The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with a portion of our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Derivatives and Hedging</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Our interest rate swap is recorded at fair value as a component of other assets in our balance sheets. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. We recognize the change in the fair value of the interest rate swap as a component of the change in other assets in our statements of cash flows.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(m) Revenue Recognition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in accordance with the guidance in ASC Topic 606 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We recognize revenue for the sale of products or services at the amount of consideration we expect to receive for those goods or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Shipping and handling fees billed to customers are included in revenue, while shipping and handling costs are included in cost of revenue.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Products and Services</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including semi, industrial, auto/EV, life sciences, defense/aerospace and safety/security. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We sell thermal management products including ThermoStream</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Sigma, Thermonics</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and North Sciences product lines, and Ambrell</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">’s precision induction heating systems, including EKOHEAT</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and EASYHEAT</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">™</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> products. As a result of the acquisition of Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We also sell many of our products to various other markets including the industrial, auto/EV, life sciences, defense/aerospace and safety/security markets. We provide post-warranty service and support for the equipment we sell.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Types of Contracts with Customers</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed-upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our consolidated balance sheets. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Customer deposits are included in current liabilities on our consolidated balance sheets. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. Deferred revenue estimated to be recognized within the next twelve months is included in current liabilities. Deferred revenue that we estimate will be recognized beyond twelve months is recorded in deferred revenue, net of current portion, on our consolidated balance sheets. Any non-inventoriable costs associated with deferred revenue are also deferred and recorded in prepaid expenses and other current assets or other assets on our consolidated balance sheets, depending on when the related deferred revenue is expected to be recognized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As discussed above, we follow the guidance in ASC 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs to Obtain a Contract with a Customer</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Product Warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the sale of our products, we generally provide standard <span style="-sec-ix-hidden:f-436">one</span>- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (11) Revenue From Contracts With Customers</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (18) Segment Information</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for further information about our revenue from contracts with customers.</span></div>Earnings (Loss) Per Common Share<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings (loss) per common share - basic is computed by dividing net earnings (loss) by the weighted average number of common shares outstanding during each period. Earnings (loss) per common share - diluted is computed by dividing earnings (loss) by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock, performance-based restricted stock, restricted stock units and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(o) Stock-Based Compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for stock-based compensation in accordance with ASC Topic 718 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compensation—Stock Compensation</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. We generally grant awards in the first quarter of the year and recognize forfeitures of awards as they occur, recapturing any expense recorded for unvested awards.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our stock options on the date of grant is determined using the Black-Scholes option pricing model, which requires the use of certain assumptions, including the expected volatility of our stock price, the expected term of the option, the risk-free rate and the expected dividend yield. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees. Prior to 2025, restricted stock awards granted to our independent directors vested 25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted. Beginning in 2025, restricted stock awards granted to our independent directors vest on the one-year anniversary of the grant date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant performance-based restricted stock awards where the ultimate number of shares that vest can vary and is based on the achievement of specific performance metrics. The grant date fair value of these awards is based on the quoted market price of our stock on the date of grant. Vesting for performance-based awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for performance-based </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjusted as needed. Our initial assumption at the grant date of these performance-based awards is that the award will vest at 100%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, as restricted stock awards vest, certain employees surrender their vested shares to satisfy their tax liability on vesting. The fair value of those shares on the vesting date are then used by us to pay those employees’ tax obligations. The shares surrendered are reported as treasury stock in our statements of stockholders’ equity.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See further disclosures related to our stock-based compensation plans in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (14) Stock-Based Compensation Plan</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.”</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(p) Foreign Currency</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For our foreign subsidiaries whose functional currencies are not the U.S. dollar, assets and liabilities are translated using the exchange rate in effect at the balance sheet date. The results of operations are translated using an average exchange rate for the period. The effects of rate fluctuations in translating assets and liabilities of these international operations into U.S. dollars are included in accumulated other comprehensive earnings in stockholders’ equity. Transaction gains or losses are included in net earnings. For the six months ended June 30, 2025 and 2024, our net foreign currency transaction gains were immaterial.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(q) Income Taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for income taxes using the asset and liability method, as described in ASC Topic 740 – </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Recognition and measurement of uncertain tax positions in our financial statements involves a determination of whether it is more likely than not that a tax position will be sustained upon examination with the presumption that the tax position will be examined by the appropriate taxing authority having full knowledge of all relevant information. Our policy is to record interest and penalties associated with unrecognized tax benefits as additional income taxes in the statements of operations.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(r) Restructuring and Other Charges</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with the guidance in ASC Topic 420 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Exit or Disposal Cost Obligations</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, we recognize a liability for restructuring costs at fair value only when the liability is incurred. Workforce-related charges are accrued when it is determined that a liability has been incurred, which is generally after individuals have been notified of their termination dates and expected severance benefits. Depending on the timing of the termination dates, these charges may be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities may result in lease termination fees and impairment charges related to our ROU assets that are associated with the leases for these facilities. Other long-lived assets that may be impaired as a result of restructuring consist of property and equipment, goodwill and intangible assets. Asset impairment charges included in restructuring and other charges are based on an estimate of the amounts and timing of future cash flows related to the expected future remaining use and ultimate sale or disposal of the asset, and, in the case of our ROU assets, would include expected future sublease rental income, if applicable. These estimates are derived using the guidance in ASC 842, ASC 350 and ASC Topic 360 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Property, Plant and Equipment</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(s) Effect of Recently Adopted Amendments to Authoritative Accounting Guidance</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">FASB</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) issued Accounting Standards Update (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) 2023-07,</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2023-07</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) which amends the guidance for disclosures for reportable segments. ASU 2023-07 introduced new requirements to disclose significant segment expenses regularly provided to the chief operating decision maker (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">CODM</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), extends certain annual disclosures to interim periods, clarifies that single reportable segment entities must apply ASC 280 – </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in its entirety, permits more than one measure of segment profit or loss to be reported under certain conditions, and requires disclosure of the title and position of the CODM. Our adoption of ASU 2023-07 had no impact on our consolidated financial statements. We have retrospectively applied the amendments to our interim footnote disclosures beginning January 1, 2025, as permitted.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(t) Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued ASU 2024-03, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Statement—Reporting Comprehensive Income—Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2024-03</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) that requires additional disclosure of certain costs and expenses, including amounts of inventory purchases, employee compensation, and depreciation and amortization included in each income statement line item. ASU 2024-03 also requires disclosure of the total amount of selling expenses and our definition of selling expenses. This update is effective for fiscal years beginning after </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 15, 2026, and for interim periods beginning after December 15, 2027, and may be adopted on a prospective basis at the effective date or retrospectively applied to all periods presented. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2024, the SEC issued a new final rule in Release 33-11275, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The Enhancement and Standardization of Climate-Related Disclosures for Investors</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires the inclusion of climate-related information in registration statements and annual reports. Among other things, the new rule requires disclosure of material climate-related risks, activities related to adapting to or mitigating such risks, related oversight activities, and information on climate-related targets or goals. Information is also required of certain greenhouse gas emissions. Disclosure requirements were to begin phasing in for fiscal years beginning on or after January 1, 2025, however on April 4, 2024, the SEC issued a voluntary stay (SEC Release 33-11280) in response to pending litigation. Therefore, the implementation dates are currently on hold. We are monitoring SEC developments and evaluating the impact of the new rule on our consolidated financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2023-09</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). The amendments require entities to annually disclose the income tax rate reconciliation using both amounts and percentages, considering several categories of reconciling items, including state and local income taxes, foreign tax effects, tax credits and nontaxable or nondeductible items, among others. Disclosure of the reconciling items is subject to a quantitative threshold and disaggregation by nature and jurisdiction. The amendments also require entities to disclose net income taxes paid or received to federal, state and foreign jurisdictions, as well as by individual jurisdiction, subject to a five percent quantitative threshold. The amendments may be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after December 15, 2024, with early adoption permitted. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">(u) Subsequent Events</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have made an assessment of our operations and with the exception of the debt amendment noted in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” determined that there were no other material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2025.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 4, 2025, President Trump signed the One Big Beautiful Bill Act (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">OBBBA</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), enacting a broad range of tax reform provisions, including extending and modifying certain domestic and international Tax Cut &amp; Jobs Act provisions and expanding certain Inflation Reduction Act incentives while accelerating the phase-out of others. Only certain provisions will have current-year financial reporting implications due to varying effective dates and discretionary elections. We are currently analyzing the OBBBA but do not anticipate a material impact to our consolidated financial statements.</span></div> Basis of Presentation and Use of Estimates<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">U.S. GAAP</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2024 Form 10-K</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) filed on March 13, 2025, with the Securities and Exchange Commission (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">SEC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”).</span></div> Basis of Presentation and Use of Estimates<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">U.S. GAAP</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2024 Form 10-K</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) filed on March 13, 2025, with the Securities and Exchange Commission (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">SEC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”).</span></div> Basis of Presentation and Use of Estimates<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements include our accounts and those of our wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">U.S. GAAP</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) requires us 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 revenues and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Annual Report on Form 10-K for the year ended December 31, 2024 (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2024 Form 10-K</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) filed on March 13, 2025, with the Securities and Exchange Commission (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">SEC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”).</span></div> Reclassifications<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior period presentation and amounts have been reclassified to conform with the current period’s presentation. These consist of:</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating the components of property and equipment on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions and other current liabilities into accrued expenses and other current liabilities on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating our restricted certificates of deposit into other assets on the face of the consolidated balance sheets and disclosing the details in the footnotes</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">disaggregating amortization of acquired intangible assets from general and administrative expenses on the face of our consolidated statements of operations</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">aggregating foreign exchange (gain) loss, discount on shares sold under Employee Stock Purchase Plan, proceeds from sales of demonstration equipment, net of gain, into other non-cash reconciling items within adjustments to reconcile net (loss) earnings to cash provided by operating activities on the consolidated statements of cash flows</span></div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span>aggregating accrued wages and benefits, accrued professional fees, accrued sales commissions, other current liabilities and other liabilities into accrued and other liabilities within changes in assets and liabilities for cash flows from operating activities on the consolidated statements of cash flows Business Combinations<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statements of operations in the period of the estimated </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.</span></div> Cash &amp; Cash Equivalents<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Periodically we have restricted cash which represents amounts deposited at our banks to support bank guarantees which certain of our customers require as a condition of paying large deposits on orders they place with us. Typically, the amount of the deposit and related guarantee declines as shipments are made against the order. At June 30, 2025 and December 31, 2024, we had no amounts classified as restricted cash.</span></div> Trade Accounts Receivable and Allowance for Credit Losses<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers’ financial condition. We follow the guidance in Accounting Standards Codification (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) Topic 326 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments – Credit Losses</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 326</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.</span></div> Inventories<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are generally valued at cost on a first-in, first-out basis, not in excess of net realizable value, except inventory acquired in a business combination, which is recorded at fair value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories.</span></div> P3Y P24M Property and Equipment<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our property and equipment caption includes machinery, equipment and leasehold improvements which are stated at cost, except for machinery and equipment acquired in a business combination, which are stated at fair value at the time of acquisition. As disclosed in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(h) Goodwill, Intangible and Long-Lived Assets</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” machinery and equipment that has been determined to be impaired is written down to its fair value at the time of the impairment. Depreciation for machinery and equipment is based upon the estimated useful life of the assets using the straight-line method. The estimated useful lives range from <span style="-sec-ix-hidden:f-423">one</span> to ten years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset.</span></div> P10Y Goodwill, Intangible and Long-Lived Assets<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for goodwill and intangible assets in accordance with ASC Topic 350 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 350</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ROU</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management’s best estimates using appropriate assumptions and projections at that time.</span></div> 3 3 3 Fair Value of Financial Instruments<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC Topic 820 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurement</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 820</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1: Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2: Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.</span></div><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3: Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument’s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financial instruments include cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short-term nature of those items. Our credit facility and our interest rate swap are discussed further below and in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.” Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (7) Fair Value Measurements</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for further disclosures related to the fair value of our liabilities for contingent consideration.</span></div> State and Local Grant Funds Received<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell Corporation (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Ambrell</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $0.6 million to help offset a portion of the cost of the leasehold improvements we made to this facility. In exchange for the funds we received under these agreements, we were required to create and maintain specified levels of employment in this location through various dates ending in 2024. As of December 31, 2024, we met those employment targets as specified in the grant agreement with the city of Rochester. The remaining proceeds which were no longer subject to repayment were reclassified to deferred grant proceeds and will be amortized to income on a straight-line basis over the current remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheets and totaled $0.3 million at June 30, 2025.</span></div> 600000 300000 Leases<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for leases in accordance with ASC Topic 842 -</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASC 842</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have made an accounting policy election not to apply the recognition requirements of ASC 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.</span></div> Interest Rate Swap Agreement<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (7) Fair Value Measurements</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.” The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with a portion of our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Derivatives and Hedging</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Our interest rate swap is recorded at fair value as a component of other assets in our balance sheets. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. We recognize the change in the fair value of the interest rate swap as a component of the change in other assets in our statements of cash flows.</span></div> Revenue Recognition<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in accordance with the guidance in ASC Topic 606 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We recognize revenue for the sale of products or services at the amount of consideration we expect to receive for those goods or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Shipping and handling fees billed to customers are included in revenue, while shipping and handling costs are included in cost of revenue.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Products and Services</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including semi, industrial, auto/EV, life sciences, defense/aerospace and safety/security. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We sell thermal management products including ThermoStream</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Sigma, Thermonics</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and North Sciences product lines, and Ambrell</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">’s precision induction heating systems, including EKOHEAT</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and EASYHEAT</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">™</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> products. As a result of the acquisition of Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We also sell many of our products to various other markets including the industrial, auto/EV, life sciences, defense/aerospace and safety/security markets. We provide post-warranty service and support for the equipment we sell.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Types of Contracts with Customers</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed-upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our consolidated balance sheets. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Customer deposits are included in current liabilities on our consolidated balance sheets. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. Deferred revenue estimated to be recognized within the next twelve months is included in current liabilities. Deferred revenue that we estimate will be recognized beyond twelve months is recorded in deferred revenue, net of current portion, on our consolidated balance sheets. Any non-inventoriable costs associated with deferred revenue are also deferred and recorded in prepaid expenses and other current assets or other assets on our consolidated balance sheets, depending on when the related deferred revenue is expected to be recognized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As discussed above, we follow the guidance in ASC 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs to Obtain a Contract with a Customer</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Product Warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the sale of our products, we generally provide standard <span style="-sec-ix-hidden:f-436">one</span>- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.</span></div> P2Y Earnings (Loss) Per Common Share<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings (loss) per common share - basic is computed by dividing net earnings (loss) by the weighted average number of common shares outstanding during each period. Earnings (loss) per common share - diluted is computed by dividing earnings (loss) by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock, performance-based restricted stock, restricted stock units and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.</span></div> Stock-Based Compensation<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for stock-based compensation in accordance with ASC Topic 718 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compensation—Stock Compensation</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. We generally grant awards in the first quarter of the year and recognize forfeitures of awards as they occur, recapturing any expense recorded for unvested awards.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our stock options on the date of grant is determined using the Black-Scholes option pricing model, which requires the use of certain assumptions, including the expected volatility of our stock price, the expected term of the option, the risk-free rate and the expected dividend yield. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees. Prior to 2025, restricted stock awards granted to our independent directors vested 25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted. Beginning in 2025, restricted stock awards granted to our independent directors vest on the one-year anniversary of the grant date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant performance-based restricted stock awards where the ultimate number of shares that vest can vary and is based on the achievement of specific performance metrics. The grant date fair value of these awards is based on the quoted market price of our stock on the date of grant. Vesting for performance-based awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for performance-based </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjusted as needed. Our initial assumption at the grant date of these performance-based awards is that the award will vest at 100%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, as restricted stock awards vest, certain employees surrender their vested shares to satisfy their tax liability on vesting. The fair value of those shares on the vesting date are then used by us to pay those employees’ tax obligations. The shares surrendered are reported as treasury stock in our statements of stockholders’ equity.</span></div> P10Y P4Y P4Y 0.25 P1Y 1 Foreign CurrencyFor our foreign subsidiaries whose functional currencies are not the U.S. dollar, assets and liabilities are translated using the exchange rate in effect at the balance sheet date. The results of operations are translated using an average exchange rate for the period. The effects of rate fluctuations in translating assets and liabilities of these international operations into U.S. dollars are included in accumulated other comprehensive earnings in stockholders’ equity. Transaction gains or losses are included in net earnings. Income Taxes<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for income taxes using the asset and liability method, as described in ASC Topic 740 – </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Recognition and measurement of uncertain tax positions in our financial statements involves a determination of whether it is more likely than not that a tax position will be sustained upon examination with the presumption that the tax position will be examined by the appropriate taxing authority having full knowledge of all relevant information. Our policy is to record interest and penalties associated with unrecognized tax benefits as additional income taxes in the statements of operations.</span></div> Restructuring and Other Charges<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with the guidance in ASC Topic 420 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Exit or Disposal Cost Obligations</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, we recognize a liability for restructuring costs at fair value only when the liability is incurred. Workforce-related charges are accrued when it is determined that a liability has been incurred, which is generally after individuals have been notified of their termination dates and expected severance benefits. Depending on the timing of the termination dates, these charges may be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities may result in lease termination fees and impairment charges related to our ROU assets that are associated with the leases for these facilities. Other long-lived assets that may be impaired as a result of restructuring consist of property and equipment, goodwill and intangible assets. Asset impairment charges included in restructuring and other charges are based on an estimate of the amounts and timing of future cash flows related to the expected future remaining use and ultimate sale or disposal of the asset, and, in the case of our ROU assets, would include expected future sublease rental income, if applicable. These estimates are derived using the guidance in ASC 842, ASC 350 and ASC Topic 360 - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Property, Plant and Equipment</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div> Effect of Recently Adopted Amendments to Authoritative Accounting Guidance<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">FASB</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) issued Accounting Standards Update (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) 2023-07,</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2023-07</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) which amends the guidance for disclosures for reportable segments. ASU 2023-07 introduced new requirements to disclose significant segment expenses regularly provided to the chief operating decision maker (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">CODM</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), extends certain annual disclosures to interim periods, clarifies that single reportable segment entities must apply ASC 280 – </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in its entirety, permits more than one measure of segment profit or loss to be reported under certain conditions, and requires disclosure of the title and position of the CODM. Our adoption of ASU 2023-07 had no impact on our consolidated financial statements. We have retrospectively applied the amendments to our interim footnote disclosures beginning January 1, 2025, as permitted.</span></div>Effect of Recently Issued Amendments to Authoritative Accounting Guidance Not Yet Adopted<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued ASU 2024-03, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Statement—Reporting Comprehensive Income—Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2024-03</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) that requires additional disclosure of certain costs and expenses, including amounts of inventory purchases, employee compensation, and depreciation and amortization included in each income statement line item. ASU 2024-03 also requires disclosure of the total amount of selling expenses and our definition of selling expenses. This update is effective for fiscal years beginning after </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 15, 2026, and for interim periods beginning after December 15, 2027, and may be adopted on a prospective basis at the effective date or retrospectively applied to all periods presented. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2024, the SEC issued a new final rule in Release 33-11275, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The Enhancement and Standardization of Climate-Related Disclosures for Investors</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires the inclusion of climate-related information in registration statements and annual reports. Among other things, the new rule requires disclosure of material climate-related risks, activities related to adapting to or mitigating such risks, related oversight activities, and information on climate-related targets or goals. Information is also required of certain greenhouse gas emissions. Disclosure requirements were to begin phasing in for fiscal years beginning on or after January 1, 2025, however on April 4, 2024, the SEC issued a voluntary stay (SEC Release 33-11280) in response to pending litigation. Therefore, the implementation dates are currently on hold. We are monitoring SEC developments and evaluating the impact of the new rule on our consolidated financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ASU 2023-09</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). The amendments require entities to annually disclose the income tax rate reconciliation using both amounts and percentages, considering several categories of reconciling items, including state and local income taxes, foreign tax effects, tax credits and nontaxable or nondeductible items, among others. Disclosure of the reconciling items is subject to a quantitative threshold and disaggregation by nature and jurisdiction. The amendments also require entities to disclose net income taxes paid or received to federal, state and foreign jurisdictions, as well as by individual jurisdiction, subject to a five percent quantitative threshold. The amendments may be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after December 15, 2024, with early adoption permitted. We do not believe there will be any impact on our financial statements and are evaluating the impact of the amendments on footnote disclosures to our consolidated financial statements.</span></div> Subsequent Events<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have made an assessment of our operations and with the exception of the debt amendment noted in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” determined that there were no other material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2025.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 4, 2025, President Trump signed the One Big Beautiful Bill Act (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">OBBBA</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), enacting a broad range of tax reform provisions, including extending and modifying certain domestic and international Tax Cut &amp; Jobs Act provisions and expanding certain Inflation Reduction Act incentives while accelerating the phase-out of others. Only certain provisions will have current-year financial reporting implications due to varying effective dates and discretionary elections. We are currently analyzing the OBBBA but do not anticipate a material impact to our consolidated financial statements.</span></div> ACQUISITION<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 12, 2024, we completed the acquisition of Alfamation S.p.A., an Italian joint-stock company. Alfamation™ is a leading global provider of state-of-the-art test and measurement solutions for the auto/EV, life sciences and specialty consumer electronics markets. Alfamation™ is included in our Electronic Test operating segment. The acquisition of Alfamation™ deepens our presence in the auto/EV and life science markets, expands our exposure in consumer electronics, extends our geographic reach with a sizable footprint in Europe, and widens our portfolio of products and solutions. Additionally, we believe Alfamation™ brings engineering talent and a management team that culturally aligns </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">with our mission to provide innovative, engineered solutions that address the high-value challenges of our customers. The aggregate purchase price was approximately €20.0 million comprised of: (i) €18.0 million, or $19.7 million, in cash; and (ii) 187,432 shares of our common stock, valued at $2.1 million based on the closing price of our stock on the date of acquisition. The cash portion of the purchase price was subject to customary working capital adjustments. These adjustments were finalized in June 2024 and resulted in recording an additional €0.1 million, or $0.1 million, in purchase price for assets delivered at closing in excess of agreed upon thresholds. The liabilities assumed in connection with the acquisition included debt of approximately €10.3 million, or $11.3 million. The debt assumed is discussed further in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.” Total acquisition costs incurred to complete this transaction were $1.2 million. Acquisition costs were expensed as incurred and included in general and administrative expense.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition of Alfamation™ has been accounted for as a business combination using purchase accounting, and, accordingly, the results of Alfamation™ have been included in our consolidated results of operations from the date of acquisition. During the fourth quarter of 2024 we completed our allocation of the estimated fair values as of March 12, 2024, with final adjustments made primarily to inventories, identifiable intangible assets and goodwill. The “inventory step-up” of approximately $1.6 million was the most significant adjustment. Partially offsetting the decrease in customer backlog were increases to acquired technology and customer relationships. Other less significant changes affected property and equipment, other current assets, accrued expenses and deferred tax liability. The excess of the purchase price over the identifiable intangible and net tangible assets was allocated to goodwill and is not deductible for tax purposes. Goodwill is attributed to synergies that are expected to result from the operations of the combined businesses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total purchase price of $21.9 million has been allocated as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 12,<br/>2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,883 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable intangible assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,332 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tangible assets acquired and liabilities assumed:</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,088 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,061 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,117 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other current assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,468 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,739 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,755 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts payable</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,669)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5,221)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liability</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,326)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Debt (current and long-term)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11,274)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other non-current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,052)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,901 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We estimated the fair value of identifiable intangible assets acquired using the income approach. Identifiable intangible assets acquired include customer relationships, customer backlog, technology and a trade name. We are amortizing the finite-lived intangible assets acquired over their estimated useful lives based on the pattern in which the economic benefits of the intangible asset are expected to be consumed.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair value of Alfamation™’s identifiable intangible assets and their estimated useful lives as of the acquisition date:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair<br/>Value</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Estimated<br/>Useful Life</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except lives)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in years)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</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="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,196 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.0</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,365 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:15pt"><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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</span></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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,967 </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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma information gives effect to the acquisition of Alfamation™ as if the acquisition occurred on January 1, 2024. These proforma summaries do not reflect any operating efficiencies or costs savings that may be achieved by the combined businesses. These proforma summaries are presented for informational purposes only and are not necessarily indicative of what the actual results of operations would have been had the acquisition taken place as of that date, nor are they indicative of future consolidated results of operations:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except per share data)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,743 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net (loss) earnings</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,832)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">710 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted (loss) earnings per share</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.23)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.06 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The pro forma results shown above do not reflect the impact on general and administrative expense of investment advisory costs, legal costs and other costs of $1.2 million incurred by us as a direct result of the transaction.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the acquisition, we have entered into a lease agreement (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Alfamation Lease Agreement</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) with the former owner of Alfamation™ who will continue to serve as the managing director of Alfamation™ under our ownership. The Alfamation Lease Agreement commenced on March 12, 2024, and will last for six years. It will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Alfamation Lease Agreement, Alfamation™ will lease warehouse and office space totaling about 52 thousand square feet. Alfamation™ will pay a yearly lease payment of €0.3 million broken up into two equal payments. At the date of the signing of the Alfamation Lease Agreement, the yearly lease payment equated to approximately $0.3 million.</span></div> 20000000.0 18000000 19700000 187432 2100000 100000 100000 10300000 11300000 1200000 1600000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total purchase price of $21.9 million has been allocated as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 12,<br/>2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,883 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable intangible assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,332 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tangible assets acquired and liabilities assumed:</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,088 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,061 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,117 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other current assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,468 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,739 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,755 </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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts payable</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,669)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5,221)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liability</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,326)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Debt (current and long-term)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11,274)</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 2px 8.2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other non-current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,052)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,901 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 21900000 9883000 13332000 1088000 6061000 13117000 1468000 1739000 1755000 4669000 5221000 2326000 11274000 3052000 21901000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair value of Alfamation™’s identifiable intangible assets and their estimated useful lives as of the acquisition date:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair<br/>Value</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Estimated<br/>Useful Life</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except lives)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in years)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</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="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,196 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.0</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,365 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:15pt"><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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</span></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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,967 </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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,332 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div> 8196000 P20Y 3169000 P10Y 11365000 1967000 13332000 These proforma summaries are presented for informational purposes only and are not necessarily indicative of what the actual results of operations would have been had the acquisition taken place as of that date, nor are they indicative of future consolidated results of operations:<div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except per share data)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,743 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net (loss) earnings</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,832)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">710 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted (loss) earnings per share</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.23)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.06 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 54767000 68743000 -2832000 710000 -0.23 0.06 1200000 P6Y 52000 300000 2 300000 INVENTORIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories held at June 30, 2025, and December 31, 2024, were comprised of the following:</span></div><div style="margin-bottom:10pt;padding-left:61.2pt;padding-right:61.2pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:56.388%"><tr><td style="width:1.0%"></td><td style="width:54.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.330%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,932 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,109 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,108 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,940 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consigned to others</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">256 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">288 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,314 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,500 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,610 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,837 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total charges incurred for excess and obsolete inventory for the three and six months ended June 30, 2025 and 2024, were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excess and obsolete inventory charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">130 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">304 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">306 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories held at June 30, 2025, and December 31, 2024, were comprised of the following:</span></div><div style="margin-bottom:10pt;padding-left:61.2pt;padding-right:61.2pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:56.388%"><tr><td style="width:1.0%"></td><td style="width:54.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.330%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,932 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,109 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,108 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,940 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consigned to others</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">256 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">288 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,314 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,500 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,610 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,837 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total charges incurred for excess and obsolete inventory for the three and six months ended June 30, 2025 and 2024, were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excess and obsolete inventory charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">130 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">304 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">306 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16932000 16109000 5108000 5940000 256000 288000 5314000 4500000 27610000 26837000 97000 130000 304000 306000 PROPERTY AND EQUIPMENT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment included the following:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,688 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,162 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,502 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,125 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,190 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,287 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,513)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,830)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,457 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense related to property and equipment was as follows:</span></div><div style="margin-bottom:5pt;padding-left:18pt;padding-right:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">314 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">356 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </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></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment included the following:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,688 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,162 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,502 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,125 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,190 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,287 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,513)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,830)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,457 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense related to property and equipment was as follows:</span></div><div style="margin-bottom:5pt;padding-left:18pt;padding-right:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">314 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">356 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">629 </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></table></div> 9688000 9162000 4502000 4125000 14190000 13287000 9513000 8830000 4677000 4457000 314000 356000 630000 629000 GOODWILL AND INTANGIBLE ASSETS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have three operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Goodwill</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2025, are as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance - January 1, 2025</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,744 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,693 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance – June 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,437 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was comprised of the following at June 30, 2025, and December 31, 2024:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30, 2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Electronic Test</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,018 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,567 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Environmental Technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,817 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,817 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Process Technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,602 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,360 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,437 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,744 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Intangible Assets</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.750%"><tr><td style="width:1.0%"></td><td style="width:62.132%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.477%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indefinite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance - January 1, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">344 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,663)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance – June 30, 2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">June 30, 2025</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,247 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,756 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,491 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,302 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,665 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,637 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,549 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,068 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,647 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">December 31, 2024</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,912 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,496 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,416 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,786 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,001 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,785 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,179 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,376 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the estimated annual amortization expense for each of the next five years:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remaining 2025</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,699 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,608 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,057 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,699 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,364 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,701 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total estimated amortization of finite-lived intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,128 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3 3 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2025, are as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance - January 1, 2025</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,744 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,693 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance – June 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,437 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was comprised of the following at June 30, 2025, and December 31, 2024:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.916%"><tr><td style="width:1.0%"></td><td style="width:58.723%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.105%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.106%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30, 2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Electronic Test</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,018 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,567 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Environmental Technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,817 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,817 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Process Technologies</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,602 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,360 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,437 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,744 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 30744000 1693000 32437000 14018000 12567000 1817000 1817000 16602000 16360000 32437000 30744000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.750%"><tr><td style="width:1.0%"></td><td style="width:62.132%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.477%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indefinite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance - January 1, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">344 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,663)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance – June 30, 2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">June 30, 2025</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,247 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,756 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,491 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,302 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,665 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,637 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,549 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,068 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,647 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">December 31, 2024</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,912 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,496 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,416 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,786 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,001 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,785 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,179 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,376 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the amount of the carrying value of our intangible assets for the six months ended June 30, 2025 were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.750%"><tr><td style="width:1.0%"></td><td style="width:62.132%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.477%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indefinite-Lived</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance - January 1, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">344 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,663)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance – June 30, 2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide further detail about our intangible assets as of June 30, 2025, and December 31, 2024:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">June 30, 2025</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,247 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,756 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,491 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,302 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,665 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,637 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,549 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,128 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,519 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,068 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,421 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,647 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:81.388%"><tr><td style="width:1.0%"></td><td style="width:52.312%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.746%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.750%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">December 31, 2024</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Net<br/>Carrying<br/>Amount</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,912 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,496 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,416 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,786 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,001 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,785 </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patents</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">590 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">481 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">270 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade name</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total finite-lived intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,179 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#ffffff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,201 </span></td><td style="background-color:#ffffff;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indefinite-lived intangible assets:</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="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 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trademarks</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,175 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,978 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,376 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16201000 10175000 1590000 344000 1663000 16128000 10519000 25247000 12756000 12491000 6302000 2665000 3637000 590000 590000 0 0 0 0 270000 270000 0 140000 140000 0 32549000 16421000 16128000 10519000 10519000 43068000 16421000 26647000 23912000 11496000 12416000 5786000 2001000 3785000 590000 590000 0 481000 481000 0 270000 270000 0 140000 140000 0 31179000 14978000 16201000 10175000 10175000 41354000 14978000 26376000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the estimated annual amortization expense for each of the next five years:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remaining 2025</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,699 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,608 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,057 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,699 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,364 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,701 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total estimated amortization of finite-lived intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,128 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1699000 2608000 2057000 1699000 1364000 6701000 16128000 FAIR VALUE MEASUREMENTS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Recurring Fair Value Measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The interest rate swap agreement we entered into in connection with our Term Note, as disclosed in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (2) Summary of Significant Accounting Policies; (l) Interest Rate Swap Agreement</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (10) Debt</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheet is measured at fair value on a recurring basis using Level 3 inputs.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021, and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">EV</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) or battery customers. We may pay the seller up to an additional CAD $5.0 million in the five-year period from 2022 through 2026. The additional payments will be based on a percent of net invoices for which payments have been received on systems sold to EV or battery customers in excess of CAD $2.5 million per year in each of the five years. The maximum payment is capped at CAD $5.0 million, which equates to approximately $3.7 million at June 30, 2025. There were no payments due to the seller for the years ended December 31, 2022 or 2023. We paid the contractually due amount for 2024 during the first quarter of 2025. To estimate the fair value of the contingent consideration at the acquisition date, an option-based income approach using a Monte Carlo simulation model was utilized due to the non-linear payout structure. As of the acquisition date, this resulted in an estimated fair value of $1.4 million. This amount was recorded as a contingent consideration liability and included in the purchase price as of the acquisition date. We reassess the estimated fair value of this liability annually using this same approach, or more frequently, if we determine that there have been material changes to the assumptions used in the calculation of the probable payout. Changes in the amount of the estimated fair value of the earn-outs since the acquisition date are recorded as operating expenses in our consolidated statement of operations in the quarter in which they occur. The current portion of our contingent consideration liability is </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">included as a component of accrued expenses and other current liabilities, while the non-current portion is included in Other Liabilities on our consolidated balance sheets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30, 2025</span></td></tr><tr><td colspan="3" style="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="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value Measurement Using</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest rate swap</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - current</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(431)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(431)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - long term</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(441)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2024</span></td></tr><tr><td colspan="3" style="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="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value Measurement Using</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest rate swap</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - current</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - long term</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the fair value of our Level 3 contingent consideration liabilities for the three and six months ended June 30, 2025 and 2024, were as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.027%"><tr><td style="width:1.0%"></td><td style="width:45.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.757%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">824 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,069 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">887 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,093 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in estimated fair value</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">872 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">872 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5000000.0 P5Y 2500000 P5Y 5000000.0 3700000 0 0 1400000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30, 2025</span></td></tr><tr><td colspan="3" style="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="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value Measurement Using</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest rate swap</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - current</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(431)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(431)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - long term</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(441)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2024</span></td></tr><tr><td colspan="3" style="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="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value Measurement Using</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest rate swap</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - current</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(62)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contingent consideration - long term</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 58000 0 58000 0 431000 0 0 431000 441000 0 0 441000 117000 0 117000 0 62000 0 0 62000 825000 0 0 825000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the fair value of our Level 3 contingent consideration liabilities for the three and six months ended June 30, 2025 and 2024, were as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.027%"><tr><td style="width:1.0%"></td><td style="width:45.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.750%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.757%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">824 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,069 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">887 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,093 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(34)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in estimated fair value</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(28)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(50)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(35)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">872 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">872 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 824000 1069000 887000 1093000 0 0 34000 0 0 -50000 -28000 -50000 48000 -11000 47000 -35000 872000 1008000 872000 1008000 ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities included the following:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.750%"><tr><td style="width:1.0%"></td><td style="width:62.132%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.477%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued wages and benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,609 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,420 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued professional fees</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,360 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,294 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued sales commissions</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">837 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,039 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued warranty</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">802 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,069 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">930 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,853 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,485 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities included the following:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:68.750%"><tr><td style="width:1.0%"></td><td style="width:62.132%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.475%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.477%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued wages and benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,609 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,420 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued professional fees</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,360 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,294 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued sales commissions</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">837 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,039 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued warranty</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">802 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,069 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">930 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,853 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,485 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4609000 5420000 1360000 1294000 837000 1039000 978000 802000 2069000 930000 9853000 9485000 LEASES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As disclosed in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (2) Summary of Significant Accounting Policies; (k) Leases</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” we account for our leases in accordance with the guidance in ASC 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2032. Total operating lease and short-term lease costs for the three and six months ended June 30, 2025 and 2024, respectively, were as follows: </span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease cost</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">641 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">509 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,294 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">960 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term lease cost</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is additional information about our leases as of June 30, 2025:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.638%"><tr><td style="width:1.0%"></td><td style="width:68.079%"></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:8.877%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.877%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.881%"></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Range of remaining lease terms (in years)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.7</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (in years)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.4</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.7%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of lease liabilities as of June 30, 2025, were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,410 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,529 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,334 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,696 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2029</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,583 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,624 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,176 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less imputed interest</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,760)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Cash Flow Information</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of ROU assets</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">428 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">282 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,066 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">685 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ROU assets obtained in exchange for operating lease obligations</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,517 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As disclosed in “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (3) Acquisition</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">,” on March 12, 2024, we acquired the stock of Alfamation™, and as such, we assumed several leases. In addition, we also entered into the Alfamation Lease Agreement for the seller-owned facility where Alfamation™ has its principal operations. The leased premises include warehouse and office space totaling approximately 52 thousand square feet. The semi-annual lease payments are €0.1 million. The impact of the assumption and execution of these leases was a non-cash increase in our ROU assets and operating lease liabilities of approximately $1.7 million at the date of the acquisition.</span></div> Total operating lease and short-term lease costs for the three and six months ended June 30, 2025 and 2024, respectively, were as follows: <div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease cost</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">641 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">509 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,294 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">960 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term lease cost</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is additional information about our leases as of June 30, 2025:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.638%"><tr><td style="width:1.0%"></td><td style="width:68.079%"></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:8.877%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.877%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.881%"></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Range of remaining lease terms (in years)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.7</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (in years)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.4</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.7%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of ROU assets</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">428 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">282 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,066 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">685 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ROU assets obtained in exchange for operating lease obligations</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,517 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 641000 509000 1294000 960000 2000 4000 6000 7000 P0Y3M18D P6Y8M12D P5Y4M24D 0.067 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of lease liabilities as of June 30, 2025, were as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,410 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,529 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,334 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,696 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2029</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,583 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,624 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,176 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less imputed interest</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,760)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1410000 2529000 2334000 1696000 1583000 2624000 12176000 1760000 10416000 428000 282000 1066000 685000 1000 5517000 86000 5623000 52000 100000 1700000 DEBT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Letters of Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as other assets on our balance sheets. The terms of our leases require us to renew these letters of credit at least 30 days prior to their expiration dates for successive terms of not less than one year until lease expiration. Our outstanding letters of credit at June 30, 2025, and December 31, 2024, consisted of the following:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.111%"><tr><td style="width:1.0%"></td><td style="width:15.870%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.785%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">L/C</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Lease</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Letters of Credit<br/>Amount Outstanding</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Facility</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Original L/C<br/>Issue Date</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expiration<br/>Date</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expiration<br/>Date</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Jun. 30, <br/>2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, <br/>2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mt. Laurel, NJ</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3/29/10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4/30/26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4/30/31</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mansfield, MA</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10/27/10</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12/31/25</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2/29/32</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </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: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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Credit Facility</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 15, 2021 (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Closing Date</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), we entered into an Amended and Restated Loan and Security Agreement with M&amp;T Bank (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">M&amp;T</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) which, was subsequently amended on October 28, 2021, December 30, 2021, September 20, 2022, May 2, 2024, and December 18, 2024 (together as amended, the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Loan Agreement</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). The Loan Agreement includes a $50.5 million non-revolving delayed draw term note (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Term Note</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) and a $10.0 million revolving credit facility (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Revolving Facility</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” and together with the Term Note, the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Credit Facility</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). The available funding at June 30, 2025, under the Term Note was $30 million and we have not borrowed any amounts under the $10.0 million Revolving Facility. The Credit Facility has a five-year contract period that began on October 15, 2021, and, as amended, expires on May 2, 2031, and draws under the Term Note, as amended, are permissible until May 2, 2026.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">SOFR</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a five-year amortizing term loan with a balloon due at maturity, or (ii) up to a five-year term with up to seven years amortization with a balloon due at maturity. Any amortization greater than five years will be subject to an excess cash flow recapture. The Loan Agreement also allows us to enter into hedging contracts with M&amp;T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Loan Agreement contains customary default provisions, including but not limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the contract period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable nondefault interest rate. The Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of not more than 3.0 to 1.0 and a fixed charge coverage ratio of not less than 1.25 to 1.0. Our obligations under the Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter. At June 30, 2025, we were in compliance with all of the covenants included in the Loan Agreement, except for the fixed charge coverage ratio financial covenant which was 0.80 to 1.0 for the quarter ended June 30, 2025.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 5, 2025, we executed the Sixth Amendment to the Loan Agreement, which formally waives the fixed charge coverage ratio financial covenant for periods ending June 30, 2025 through and including March 31, 2026. During the period of this waiver we are required to request consent from M&amp;T if we wish to utilize our Revolving Facility and we formally pledged a portion of our cash holdings equal to our total open debt with M&amp;T. At June 30, 2025 we were holding $5.9 million of total debt with M&amp;T.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 28, 2021, we drew $12.0 million under the Term Note to finance the acquisition of Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We also entered into an interest rate swap agreement with M&amp;T as of this date which is designed to protect us against fluctuations in interest rates during the five-year repayment and amortization period. As a result, the annual interest rate we pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 29, 2021, we drew $8.5 million under the Term Note to finance the acquisition of Acculogic. We did not enter into an interest rate swap agreement with M&amp;T related to this draw. The annual interest rate for this draw under the Term Note is variable. At June 30, 2025, it was approximately 6.6% based on current leverage.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the annual maturities for the balance of the Term Note:</span></div><div style="margin-bottom:10pt;padding-left:22.5pt;padding-right:22.5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,050 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,842 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total remaining maturities of our Term Note</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,892 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Alfamation™ Debt</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the acquisition of Alfamation™ (see “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (3) Acquisition</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), we assumed debt which totaled $11.3 million as of the acquisition date. At June 30, 2025, Alfamation™’s total debt amounted to $4.2 million. This debt is comprised of both fixed and variable rate bank issued term loans as well as $0.7 million of short-term variable rate financing backed by Alfamation™’s accounts receivable. This debt is spread across several different institutions with monthly, quarterly or semi-annual repayment schedules. The short-term variable financing rate at June 30, 2025, was 3.1%. At June 30, 2025, the weighted average interest rate payable on the bank issued term loans was 1.1% for fixed rate debt and 3.7% for variable rate debt and the overall weighted average interest rate for the bank issued term loans was 3.2%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the maturities of this debt for each of the next four years:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,597 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,484 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">858 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">262 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total remaining maturities of our Alfamation™ Debt</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,201 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P30D P1Y Our outstanding letters of credit at June 30, 2025, and December 31, 2024, consisted of the following:<div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.111%"><tr><td style="width:1.0%"></td><td style="width:15.870%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.775%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.529%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.785%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">L/C</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Lease</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Letters of Credit<br/>Amount Outstanding</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Facility</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Original L/C<br/>Issue Date</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expiration<br/>Date</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expiration<br/>Date</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Jun. 30, <br/>2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dec. 31, <br/>2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mt. Laurel, NJ</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3/29/10</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4/30/26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4/30/31</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mansfield, MA</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10/27/10</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12/31/25</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2/29/32</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50 </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: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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2010-03-29 2026-04-30 2031-04-30 50000 50000 2010-10-27 2025-12-31 2032-02-29 50000 50000 100000 100000 50500000 10000000.0 30000000 0 10000000.0 P5Y P5Y P5Y P7Y P5Y 0.02 3.0 1.25 0.80 5900000 12000000.0 P5Y 0.032 8500000 0.066 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the annual maturities for the balance of the Term Note:</span></div><div style="margin-bottom:10pt;padding-left:22.5pt;padding-right:22.5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,050 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,842 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total remaining maturities of our Term Note</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,892 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the maturities of this debt for each of the next four years:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025 (remainder)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,597 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,484 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">858 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">262 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total remaining maturities of our Alfamation™ Debt</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,201 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2050000 3842000 5892000 11300000 4200000 700000 0.031 0.011 0.037 0.032 1597000 1484000 858000 262000 4201000 REVENUE FROM CONTRACTS WITH CUSTOMERS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Disaggregation of Revenue</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (18) Segment Information</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for information about revenue by operating segment and geographic region.</span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by customer type:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">End user</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,192 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,496 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,628 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48,926 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">OEM/Integrator</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,938 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,495 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,139 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,889 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by product type:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thermal test</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,839 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,228 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,232 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,927 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thermal process</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,547 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,843 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,828 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,798 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Semiconductor test</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,926 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,014 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,660 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,296 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Video imaging</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,289 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,685 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,346 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,804 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Flying probe and in-circuit testers</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,204 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,031 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,060 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,775 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Alfamation™ products</span></div></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,629 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,719 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,778 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,098 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service/other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,696 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,471 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,863 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,117 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;padding-left:36pt"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by market:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Semi</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,192 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,124 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,187 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,091 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Auto/EV</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,862 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,735 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,821 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,693 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Defense/Aerospace</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,578 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,682 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,406 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,921 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Industrial</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,786 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,415 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,807 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,602 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Life Sciences</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,386 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,194 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,074 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,847 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Safety/Security</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">898 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">792 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,462 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,333 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,428 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,049 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,010 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,328 </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:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Major Customers</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and six months ended June 30, 2025, one customer (Customer “A”) accounted for 11% and 12%, respectively, of our consolidated revenue. During the three months ended June 30, 2024, one customer (Customer “B”) accounted for 17% of our consolidated revenue, while during the six months ended June 30, 2024, Customer “A” accounted for 11% of our consolidated revenue. These revenues in the periods presented were generated by our Electronic Test segment. </span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Contract Liabilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2025, and December 31, 2024, we had total contract liabilities of $7.0 million and $6.4 million, respectively. Our contract liabilities consist of our customer deposits and deferred revenue as well as deferred revenue net of current portion on our consolidated balance sheets. For the three months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of March 31, 2025, was $2.4 million, while for the three months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of March 31, 2024, was $1.5 million. For the six months ended June 30, 2025, the amount recognized as revenue from the contract liabilities balance as of December 31, 2024, was $3.1 million, while for the six months ended June 30, 2024, the amount recognized as revenue from the contract liabilities balance as of December 31, 2023, was $3.1 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Allowance for Credit Losses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Activity related to our allowance for credit losses was as follows:</span></div><div style="margin-bottom:12pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">411 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">426 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">423 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">474 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit loss expense, net of release of unused allowance</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(48)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. See “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (18) Segment Information</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” for information about revenue by operating segment and geographic region.</span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by customer type:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">End user</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,192 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,496 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,628 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48,926 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">OEM/Integrator</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,938 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,495 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,139 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,889 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by product type:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thermal test</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,839 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,228 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,232 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,927 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thermal process</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,547 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,843 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,828 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,798 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Semiconductor test</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,926 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,014 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,660 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,296 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Video imaging</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,289 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,685 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,346 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,804 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Flying probe and in-circuit testers</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,204 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,031 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,060 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,775 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Alfamation™ products</span></div></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,629 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,719 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,778 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,098 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service/other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,696 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,471 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,863 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,117 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;padding-left:36pt"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue by market:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt 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:0.75pt 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:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Semi</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,192 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,124 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,187 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,091 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Auto/EV</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,862 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,735 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,821 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,693 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Defense/Aerospace</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,578 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,682 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,406 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,921 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Industrial</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,786 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,415 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,807 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,602 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Life Sciences</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,386 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,194 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,074 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,847 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Safety/Security</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">898 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">792 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,462 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,333 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,428 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,049 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,010 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,328 </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:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 23192000 27496000 45628000 48926000 4938000 6495000 9139000 14889000 28130000 33991000 54767000 63815000 4839000 4228000 9232000 7927000 5547000 9843000 10828000 20798000 5926000 4014000 10660000 10296000 2289000 1685000 4346000 3804000 1204000 1031000 3060000 3775000 4629000 9719000 8778000 11098000 3696000 3471000 7863000 6117000 28130000 33991000 54767000 63815000 10192000 10124000 19187000 25091000 5862000 10735000 11821000 14693000 3578000 3682000 6406000 6921000 3786000 3415000 6807000 7602000 1386000 2194000 3074000 2847000 898000 792000 1462000 1333000 2428000 3049000 6010000 5328000 28130000 33991000 54767000 63815000 0.11 0.12 0.17 0.11 7000000.0 6400000 2400000 1500000 3100000 3100000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Activity related to our allowance for credit losses was as follows:</span></div><div style="margin-bottom:12pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">411 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">426 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">423 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">474 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit loss expense, net of release of unused allowance</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(48)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation impact</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">416 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 411000 426000 423000 474000 -60000 -1000 -46000 -1000 12000 0 12000 48000 5000 -11000 7000 -11000 464000 416000 464000 416000 EARNINGS (LOSS) PER SHARE<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings (loss) per share because their effect was anti-dilutive:</span></div><div><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:48.344%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.987%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average common shares outstanding - basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,215,258</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,234,599</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,197,338</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,130,480</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive securities:</span></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="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares of restricted stock and employee stock options</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,681</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113,809</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average common shares and common share equivalents outstanding - diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,215,258</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,330,280</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,197,338</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,244,289</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">662,167</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">599,276</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">769,896</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">516,930</span></td></tr></table></div> <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings (loss) per share because their effect was anti-dilutive:</span></div><div><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:48.344%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.355%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.987%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><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:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average common shares outstanding - basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,215,258</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,234,599</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,197,338</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,130,480</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive securities:</span></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="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares of restricted stock and employee stock options</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,681</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113,809</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average common shares and common share equivalents outstanding - diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,215,258</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,330,280</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,197,338</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,244,289</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">662,167</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">599,276</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">769,896</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">516,930</span></td></tr></table></div> 12215258 12234599 12197338 12130480 0 95681 0 113809 12215258 12330280 12197338 12244289 662167 599276 769896 516930 EQUITY<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 5, 2025, our Board of Directors authorized the renewal of our previously expired share repurchase plan (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Repurchase Plan</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), whereby we may repurchase shares of our common stock on the open market with a total aggregate repurchase amount of up to $10.0 million. As of the renewal date, we had approximately $9.0 million available for repurchases under the Repurchase Plan. We are not obligated to purchase any common stock under the Repurchase Plan. Further, the Repurchase Plan may be suspended or discontinued at any time without prior notice.</span></div> 10000000.0 9000000.0 STOCK-BASED COMPENSATION PLAN<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2025, we had unvested stock options, restricted stock awards, performance-based restricted stock awards and restricted stock units granted under our stock-based compensation plans. On June 21, 2023, our stockholders approved the InTest Corporation 2023 Stock Incentive Plan (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2023 Plan</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) which replaced the Fourth Amended and Restated 2014 Stock Plan (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">2014 Plan</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). No further awards can be granted under the 2014 Plan. The maximum number of shares of common stock available for grant and issuance under the 2023 Plan is (a) 350,000, plus (b) the number of shares of common stock available for issuance under the 2014 Plan on the date the 2023 Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the 2014 Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the 2023 Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the 2023 Plan as of the </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">date of its approval was 1,117,942. Consistent with prior years’ performance-based awards, we reserve additional shares in the event that the performance achieves maximum levels. As a result of current year’s activity with regard to performance-based restricted stock awards (grants and forfeitures), we have 50,113 shares reserved in aggregate for performance in excess of target as of June 30, 2025. As of June 30, 2025, the remaining authorization for issue under the 2023 Plan was 436,980.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2025 and 2024, related to unvested restricted stock, performance-based restricted stock awards, restricted stock units and stock options:</span></div><div style="margin-bottom:12pt;padding-left:18pt;padding-right:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.305%"><tr><td style="width:1.0%"></td><td style="width:47.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.073%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Engineering and product development expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">361 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">505 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">744 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">808 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">435 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">564 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">858 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">913 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2025, total compensation expense to be recognized in future periods was $4.6 million. The weighted average period over which this expense is expected to be recognized was 2.8 years. There was no compensation expense capitalized in the three and six months ended June 30, 2025 or 2024.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Stock Options</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value for stock options granted during the six months ended June 30, 2025 and 2024 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.28 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.98 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.00 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.00 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected common stock market price volatility factor</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.59</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.57</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average expected life of stock options (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to stock options for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise Price</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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Remaining Contractual Term </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(yrs)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Aggregate Intrinsic Value </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(in thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">602,593</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.92 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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 #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">310,086</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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="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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,925)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.69 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(23,188)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.78 </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="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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">884,566</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.85 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.8</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable</span></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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">399,536</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.55 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.3</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected to vest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">485,030</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.27 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.1</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes certain additional information with respect to our options:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.666%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands, except per option amounts)</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average grant date fair value per option</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.61 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.55 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate intrinsic value of options exercised</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Restricted Stock Awards</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">119,833</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.92 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85,098</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(46,474)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.76 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,169)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.69 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">149,288</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.67 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional information about our restricted stock awards is summarized as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate market value of RSA’s vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">344 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">435 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Performance-Based Restricted Stock Awards</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 16, 2024, the newly appointed president of our Process Technologies segment received performance-based restricted stock awards totaling 8,231 shares valued at $0.1 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on January 16, 2024. The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods. As of June 30, 2025, we have estimated that these shares will vest at 100% of the original amount.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 6, 2024, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 33,539 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 6, 2024. The final vesting percentage will be based on the achievement of certain performance metrics related to adjusted EBITDA for the year ended December 31, 2026, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 17, 2025, our CEO, CFO and the Division Presidents of our three operating segments received restricted stock awards totaling 49,098 shares valued at $0.4 million as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on March 17, 2025. The final vesting percentage will be based on the achievement of certain performance metrics related to the percentage of revenue received by us generated by recurring revenue streams for the year ended December 31, 2027, as determined by the Compensation Committee of our Board of Directors. At June 30, 2025, we have estimated that these </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">shares will vest at 100% of the original amount based on our assessment of the probable achievement against the relevant performance metrics.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 1, 2021, we granted 5,000 shares of performance-based stock awards to a member of senior management with a vesting date of January 1, 2025. The performance criteria was based on the achievement of certain financial metrics. The probability of achievement was 0% as of December 31, 2024, and on January 1, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 9, 2022, our CEO and CFO were granted performance-based stock awards totaling 20,493 shares. The performance criteria was based on the achievement of certain performance metrics including compound annual revenue growth rate. The probability of achievement was 0% as of December 31, 2024, and on March 9, 2025, none of the performance criteria were achieved, therefore, these performance-based stock awards were forfeited.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 8, 2023, our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards, of which 16,605 remained as of June 30, 2025. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on March 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. During the second quarter of 2025, we reduced this estimate from 50% to 0% based on our current projections for the performance metrics for the relevant measurement period. The adjustment for this award was insignificant and recorded in general and administrative expense in our statements of operations.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 11, 2025, the president of our Environmental Technologies segment terminated employment with us. He had performance-based stock awards of 5,081 shares granted on May 8, 2023, 2,942 shares granted on March 6, 2024 and 4,307 shares granted on March 17, 2025. The probability of achievement of the May 8, 2023 award was 50% as of March 31, 2025, while the March 6, 2024 and March 17, 2025 awards remained at 100% as of March 31, 2025. Due to the termination, none of the performance criteria were achieved and therefore, 12,330 performance-based stock awards were forfeited.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to unvested performance-based restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88,949</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12.53 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,098</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(37,823)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.48 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,224</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.58 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional information about our performance-based restricted stock awards is summarized as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate market value of PSA’s vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Restricted Stock Units</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,091</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.98 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,091</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No RSUs vested during the six months ended June 30, 2025.</span></div> 350000 1117942 50113 436980 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2025 and 2024, related to unvested restricted stock, performance-based restricted stock awards, restricted stock units and stock options:</span></div><div style="margin-bottom:12pt;padding-left:18pt;padding-right:18pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.305%"><tr><td style="width:1.0%"></td><td style="width:47.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.067%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.359%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.073%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Engineering and product development expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">361 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">505 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">744 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">808 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">435 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">564 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">858 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">913 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 45000 37000 83000 68000 19000 14000 32000 25000 10000 8000 -1000 12000 361000 505000 744000 808000 435000 564000 858000 913000 4600000 P2Y9M18D 0 0 0 0 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value for stock options granted during the six months ended June 30, 2025 and 2024 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.28 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.98 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.00 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.00 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected common stock market price volatility factor</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.59</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.57</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average expected life of stock options (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 13pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.25</span></td></tr></table></div> 0.0428 0.0398 0.0000 0.0000 0.59 0.57 P6Y3M P6Y3M <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to stock options for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.805%"><tr><td style="width:1.0%"></td><td style="width:40.660%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.440%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.820%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise Price</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:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Remaining Contractual Term </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(yrs)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Aggregate Intrinsic Value </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(in thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">602,593</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.92 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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 #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">310,086</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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="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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,925)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.69 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(23,188)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.78 </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="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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">884,566</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.85 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.8</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable</span></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:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">399,536</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.55 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.3</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112 </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 2px 11.8pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected to vest</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">485,030</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.27 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.1</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes certain additional information with respect to our options:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.666%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands, except per option amounts)</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average grant date fair value per option</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.61 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.55 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate intrinsic value of options exercised</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 602593 10.92 310086 7.74 4925 3.69 23188 10.78 884566 9.85 P7Y9M18D 112000 399536 10.55 P6Y3M18D 112000 485030 9.27 P9Y1M6D 0 0 0 4.61 6.55 0 0 22000 40000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">119,833</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.92 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85,098</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(46,474)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.76 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,169)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.69 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">149,288</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.67 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional information about our restricted stock awards is summarized as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</span></td><td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate market value of RSA’s vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">344 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">435 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to unvested performance-based restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88,949</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12.53 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,098</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.74 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(37,823)</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.48 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,224</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.58 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional information about our performance-based restricted stock awards is summarized as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate market value of PSA’s vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We began issuing restricted stock units to certain employees in 2025. The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2025:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number<br/>of Shares</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, January 1, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,091</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.98 </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</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:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">—</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested shares outstanding, June 30, 2025</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,091</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 119833 11.92 85098 7.74 46474 11.76 9169 10.69 149288 9.67 94000 89000 344000 435000 8231 100000 0 1.50 1 3 33539 400000 0 1.50 1 3 49098 400000 0 1.50 1 5000 0 20493 0 16605 0 1.50 0.50 0 5081 2942 4307 0.50 1 1 12330 88949 12.53 49098 7.74 0 0 37823 11.48 100224 10.58 0 0 0 117000 0 0 61091 7.98 0 0 0 0 61091 7.98 0 EMPLOYEE STOCK PURCHASE PLAN<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The InTest Corporation Employee Stock Purchase Plan (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">ESPP</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”) was adopted by the Board in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021, at our Annual Meeting of Stockholders and became effective on October 1, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a 15% discount from the closing market price on the purchase date. The discount is recorded as a component of compensation expense in our consolidated statements of operations. The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance under the ESPP. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The activity in our ESPP was as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except shares)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares purchased</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,592 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,483 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,966 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,587 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of shares</span></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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total discount (compensation expense)</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The per share prices related to the ESPP purchases were as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:56.388%"><tr><td style="width:1.0%"></td><td style="width:54.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.330%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Closing Market Price</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchase Price</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.28 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.19 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2025</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.99 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.94 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 30, 2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.88 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.40 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13.25 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0.15 250000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The activity in our ESPP was as follows:</span></div><div style="margin-bottom:10pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands except shares)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares purchased</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,592 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,483 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,966 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,587 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of shares</span></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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total discount (compensation expense)</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4592 4483 9966 8587 28000 38000 60000 84000 5000 7000 11000 15000 <div style="margin-bottom:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The per share prices related to the ESPP purchases were as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:56.388%"><tr><td style="width:1.0%"></td><td style="width:54.072%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.785%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.330%"></td><td style="width:0.1%"></td></tr><tr><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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Closing Market Price</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchase Price</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 30, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.28 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.19 </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2025</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.99 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.94 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 30, 2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.88 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.40 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13.25 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 7.28 6.19 6.99 5.94 9.88 8.40 13.25 11.26 RESTRUCTURING<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 25, 2025, we notified employees of our wholly-owned subsidiary, Videology Imaging Corporation, of our intention to consolidate all operations in the Netherlands into our facility located in Mansfield, Massachusetts (the </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Videology Consolidation</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">is included in our Process Technologies segment. This plan would result in the closure of the Netherlands facility and the termination of certain employees at that location. The Videology Consolidation of the Netherlands operations is being undertaken to increase efficiencies and lower operating costs associated with the current operation of Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and is expected to be substantially completed by the end of 2025 at which point we intend to fully vacate the Netherlands facility.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 11, 2025, we transitioned leadership of our Environmental Technologies segment (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Environmental Transition</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), appointing a new President. We incurred severance and payroll related costs for the outgoing President related to the Environmental Transition.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of these two actions, we expect to incur cash charges for severance and other one-time termination benefits of $425 thousand. In addition, we expect to incur cash charges for other costs related to the facility consolidation, including moving costs, costs associated with the termination of the Netherlands facility lease and other consolidation costs, ranging from $200 thousand to $300 thousand.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have recognized restructuring expenses related to these actions as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Videology Consolidation:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</span></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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retention</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll taxes and payroll related</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Process Technologies restructuring charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84 </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">397 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate portion of action charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Videology Consolidation restructuring charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">449 </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 style="height:15pt"><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;border-top:1pt solid #000;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 #000;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Environmental Transition:</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll taxes and payroll related</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Environmental Technologies restructuring charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate portion of action charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Environmental Transition restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80 </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="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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total consolidated restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #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-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">529 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our restructuring accrual is included as a component of accrued expenses and other current liabilities:</span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">529 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">523 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 425000 200000 300000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have recognized restructuring expenses related to these actions as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.416%"><tr><td style="width:1.0%"></td><td style="width:65.382%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.924%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Videology Consolidation:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</span></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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retention</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll taxes and payroll related</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Process Technologies restructuring charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84 </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">397 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate portion of action charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Videology Consolidation restructuring charges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">449 </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 style="height:15pt"><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;border-top:1pt solid #000;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 #000;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Environmental Transition:</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll taxes and payroll related</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Environmental Technologies restructuring charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate portion of action charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Environmental Transition restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80 </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="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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total consolidated restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #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-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">529 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0 237000 60000 79000 12000 63000 12000 18000 84000 397000 52000 52000 136000 449000 70000 70000 6000 6000 76000 76000 4000 4000 80000 80000 216000 529000 <div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our restructuring accrual is included as a component of accrued expenses and other current liabilities:</span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.777%"><tr><td style="width:1.0%"></td><td style="width:78.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.684%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.149%"></td><td style="width:0.1%"></td></tr><tr><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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charges</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">529 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Impact of foreign currency translation adjustments</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">523 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0 529000 36000 -30000 523000 EMPLOYEE BENEFIT PLANS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The InTest Corporation Incentive Savings Plan is a defined contribution 401(k) plan for our employees who work in the U.S. (the “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">InTest Savings Plan</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”). As of June 30, 2025, all permanent employees of Acculogic Ltd, Ambrell</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, InTest Corporation, InTest EMS LLC, Temptronic Corporation and Videology</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, who are at least 18 years of age, are eligible to participate in the InTest Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5 thousand. Employer contributions vest ratably over four years. Matching contributions are discretionary.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recorded expense for matching contributions as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discretionary employer matching contributions</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">205 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">219 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">564 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">608 </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></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees of Alfamation™ in Italy are entitled to Trattamento di Fine Rapporto (“</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">TFR</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), commonly referred to as an employee leaving indemnity, which represents deferred compensation for employees. Under Italian law, an entity is obligated to accrue for TFR on an individual employee basis payable to each individual upon termination of employment (including both voluntary and involuntary dismissal). The expense is recognized in personnel costs in our consolidated statements of operations and the required accrual is included in Other Liabilities on our consolidated balance sheets. At June 30, 2025, the amount recorded in other liabilities for TFR was $1.6 million.</span></div> 0.10 5000 P4Y <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recorded expense for matching contributions as follows:</span></div><div style="margin-bottom:5pt;text-align:center"><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:48.693%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.351%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.903%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discretionary employer matching contributions</span></td><td colspan="3" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">205 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">219 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">564 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">608 </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></table></div> 205000 219000 564000 608000 1600000 SEGMENT INFORMATION<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have three operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers and the operations of Alfamation™ which we acquired on March 12, 2024 - see “</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note (3) Acquisition</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, third-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the auto/EV, defense/aerospace, industrial, life sciences, safety/security and other markets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses, restructuring costs and acquired intangible amortization.</span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.611%"><tr><td style="width:1.0%"></td><td style="width:27.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.701%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2025</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic<br/> Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp;<br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">13,733 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,215 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,182 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">28,130 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,418 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,534 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,205 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">16,157 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,755 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,070 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,578 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,403 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income (loss)</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,570</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">850 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">850 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Restructuring costs</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">216 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">216 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</span></div></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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,431 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,431 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating (loss) income</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,497)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(927)</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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(119)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(119)</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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">463 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">463 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">(Loss) earnings before income tax (benefit) expense</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,153)</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(583)</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:8pt"><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;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;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;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;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</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="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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">152 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">62 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">61 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">39 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">314 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">86 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">81 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">68 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">200 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">435 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">63 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">24 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">366 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">462 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">76,259 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,944 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">49,975 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,475 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">149,653 </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:center"><span><br/></span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.611%"><tr><td style="width:1.0%"></td><td style="width:27.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.701%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic<br/> Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp;<br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">16,159 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8,273 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,559 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">33,991 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,462 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,016 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,716 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">20,194 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,954 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,264 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,873 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">10,091 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income (loss)</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,706</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">897 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">897 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</span></div></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,473 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,473 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating income (loss)</span></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,370)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">336</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></div></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;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;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(253)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(253)</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</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="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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">213 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">213 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Earnings (loss) before income tax expense (benefit)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,410)</span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">296</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 style="height:8pt"><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="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</span></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="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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">154 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">80 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">100 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">22 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">356 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">53 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">48 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">52 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">411 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">564 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">106 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">122 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">17 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">71 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">316 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">81,668 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,827 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">55,460 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,599 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">160,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.666%"><tr><td style="width:1.0%"></td><td style="width:26.021%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.995%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2025</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">($ in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process <br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp; <br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">26,992 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">13,483 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">14,292 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">54,767 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">14,731 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8,697 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8,310 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">31,738 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">10,020 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,430 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,376 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">19,826 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income (loss)</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,241</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">356</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">606</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,203</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,663 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,663 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Restructuring costs</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">529 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">529 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</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="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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,819 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,819 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating (loss) income</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,241</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">356</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">606</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(7,011)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,808)</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(271)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(271)</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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">707 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">707 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">(Loss) earnings before income tax expense</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,241</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">356</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">606</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(6,575)</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,372)</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:8pt"><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;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;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;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;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</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="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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">306 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">127 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">123 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">74 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">630 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">140 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">49 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">120 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">549 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">858 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">197 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">106 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">15 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">373 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">691 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">76,259 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,944 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">49,975 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,475 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">149,653 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    </span></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.666%"><tr><td style="width:1.0%"></td><td style="width:26.021%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.995%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">($ in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process <br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp; <br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">27,275 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">15,101 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,439 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">63,815 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">15,008 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,549 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">12,385 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">36,942 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8,711 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,544 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">6,123 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">19,378 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,556</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,008</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,931</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">7,495</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,492 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,492 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,175 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,175 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating income (loss)</span></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,556</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,008</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,931</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(6,667)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">828</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></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;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;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(393)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(393)</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</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="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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">648 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">648 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Earnings (loss) before income tax expense</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,556</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,008</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,931</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(6,412)</span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,083</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 style="height:8pt"><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="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</span></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="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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">242 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">144 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">200 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">43 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">629 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">106 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">86 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">34 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">687 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">913 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">142 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">351 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">87 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">76 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">656 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">81,668 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,827 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">55,460 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,599 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">160,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue:</span></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;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;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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S.</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,372 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,423 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,038 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,900 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,758 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,568 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,729 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,915 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:64.583%"><tr><td style="width:1.0%"></td><td style="width:57.179%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.660%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.660%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.901%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and equipment:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S.</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,113 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,564 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,177 </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:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,457 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3 3 3 <div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.611%"><tr><td style="width:1.0%"></td><td style="width:27.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.701%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2025</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic<br/> Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp;<br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">13,733 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,215 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,182 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">28,130 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7,418 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,534 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,205 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">16,157 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,755 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,070 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,578 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,403 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income (loss)</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2,570</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">850 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">850 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Restructuring costs</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">216 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">216 </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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</span></div></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><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,431 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,431 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating (loss) income</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,497)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(927)</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"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(119)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(119)</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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</span></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">463 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">463 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">(Loss) earnings before income tax (benefit) expense</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,560</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">611</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">399</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,153)</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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(583)</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:8pt"><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;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;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;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;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</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="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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">152 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">62 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">61 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">39 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">314 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">86 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">81 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">68 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">200 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">435 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">63 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">24 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">366 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">462 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">76,259 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,944 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">49,975 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,475 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">149,653 </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:center"><span><br/></span></div><div style="margin-bottom:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.611%"><tr><td style="width:1.0%"></td><td style="width:27.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.698%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.393%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.701%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-style:italic;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Electronic<br/> Test</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Environmental<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Process<br/>Technologies</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Corporate &amp;<br/>Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Consolidated</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Revenue</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">16,159 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8,273 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,559 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">33,991 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cost of 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9,462 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,016 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5,716 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">20,194 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other divisional 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4,954 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,264 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,873 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">— </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">10,091 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Division operating income (loss)</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">—</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">3,706</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Acquired intangible amortization</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">897 </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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">897 </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Corporate expenses</span></div></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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,473 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2,473 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Operating income (loss)</span></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,370)</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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">336</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Interest expense</span></div></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;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;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(253)</span></td><td style="background-color:#ffffff;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 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(253)</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Other income</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="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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">213 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">213 </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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Earnings (loss) before income tax expense (benefit)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">1,743</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">970</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(3,410)</span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">296</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </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 style="height:8pt"><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="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:120%">Supplemental Disclosures:</span></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="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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">154 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">80 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">100 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">22 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">356 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">53 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">48 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">52 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">411 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">564 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Capital expenditures</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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">106 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">122 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">17 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">71 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">316 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">81,668 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21,827 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">55,460 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">1,599 </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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">160,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 13733000 7215000 7182000 28130000 7418000 4534000 4205000 16157000 4755000 2070000 2578000 9403000 1560000 611000 399000 2570000 850000 850000 216000 216000 2431000 2431000 1560000 611000 399000 -3497000 -927000 119000 119000 463000 463000 1560000 611000 399000 -3153000 -583000 152000 62000 61000 39000 314000 86000 81000 68000 200000 435000 63000 24000 9000 366000 462000 76259000 21944000 49975000 1475000 149653000 16159000 8273000 9559000 33991000 9462000 5016000 5716000 20194000 4954000 2264000 2873000 10091000 1743000 993000 970000 3706000 897000 897000 2473000 2473000 1743000 993000 970000 -3370000 336000 253000 253000 213000 213000 1743000 993000 970000 -3410000 296000 154000 80000 100000 22000 356000 53000 48000 52000 411000 564000 106000 122000 17000 71000 316000 81668000 21827000 55460000 1599000 160554000 26992000 13483000 14292000 54767000 14731000 8697000 8310000 31738000 10020000 4430000 5376000 19826000 2241000 356000 606000 3203000 1663000 1663000 529000 529000 4819000 4819000 2241000 356000 606000 -7011000 -3808000 271000 271000 707000 707000 2241000 356000 606000 -6575000 -3372000 306000 127000 123000 74000 630000 140000 49000 120000 549000 858000 197000 106000 15000 373000 691000 76259000 21944000 49975000 1475000 149653000 27275000 15101000 21439000 63815000 15008000 9549000 12385000 36942000 8711000 4544000 6123000 19378000 3556000 1008000 2931000 7495000 1492000 1492000 5175000 5175000 3556000 1008000 2931000 -6667000 828000 393000 393000 648000 648000 3556000 1008000 2931000 -6412000 1083000 242000 144000 200000 43000 629000 106000 86000 34000 687000 913000 142000 351000 87000 76000 656000 81668000 21827000 55460000 1599000 160554000 <div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.194%"><tr><td style="width:1.0%"></td><td style="width:41.577%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.600%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.429%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.607%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Six Months Ended</span></td></tr><tr><td colspan="3" style="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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue:</span></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;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;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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S.</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,372 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,423 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,038 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,900 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,758 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,568 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,729 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,915 </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:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,130 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,991 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,767 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt 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:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,815 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 12372000 14423000 25038000 24900000 15758000 19568000 29729000 38915000 28130000 33991000 54767000 63815000 <div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:64.583%"><tr><td style="width:1.0%"></td><td style="width:57.179%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.660%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.660%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.901%"></td><td style="width:0.1%"></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:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2025</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>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:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and equipment:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt 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:0.75pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S.</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,113 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,564 </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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,177 </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:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt 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-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,457 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2113000 2280000 2564000 2177000 4677000 4457000 false false false false